diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index bebd97efb..e5664da68 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -90,6 +90,7 @@ unit-testing: unit-testing-erratic: stage: test retry: 2 + allow_failure: true only: changes: - "**/*.ex" diff --git a/CHANGELOG.md b/CHANGELOG.md index 99941b9ee..53cdc6e79 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Added - `activeMonth` and `activeHalfyear` fields in NodeInfo usage.users object - Experimental support for Finch. Put `config :tesla, :adapter, {Tesla.Adapter.Finch, name: MyFinch}` in your secrets file to use it. Reverse Proxy will still use Hackney. +- `ForceMentionsInPostContent` MRF policy - AdminAPI: allow moderators to manage reports, users, invites, and custom emojis - AdminAPI: restrict moderators to access sensitive data: change user credentials, get password reset token, read private statuses and chats, etc - PleromaAPI: Add remote follow API endpoint at `POST /api/v1/pleroma/remote_interaction` @@ -34,6 +35,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). - Handle Reject for already-accepted Follows properly - Display OpenGraph data on alternative notice routes. - Fix replies count for remote replies +- Fixed hashtags disappearing from the end of lines when Markdown is enabled - ChatAPI: Add link headers - Limited number of search results to 40 to prevent DoS attacks - ActivityPub: fixed federation of attachment dimensions @@ -45,6 +47,16 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). ### Removed +## 2.4.2 - 2022-01-10 + +### Fixed +- Federation issues caused by HTTP pool checkout timeouts +- Compatibility with Elixir 1.13 + +### Upgrade notes + +1. Restart Pleroma + ## 2.4.1 - 2021-08-29 ### Changed diff --git a/docs/clients.md b/docs/clients.md index 5650ea236..31d2d27c3 100644 --- a/docs/clients.md +++ b/docs/clients.md @@ -116,3 +116,9 @@ Feel free to contact us to be added to this list! - Contact: [@r@freesoftwareextremist.com](https://freesoftwareextremist.com/users/r) - Features: Does not requires JavaScript - Features: MastoAPI + +### Glitch-lily +- Source Code: +- Contact: [@tusooa@kazv.moe](https://kazv.moe/users/tusooa) +- Features: MastoAPI +- Based on [glitch-soc](https://github.com/glitch-soc/mastodon) frontend diff --git a/docs/configuration/cheatsheet.md b/docs/configuration/cheatsheet.md index 40e81cffb..4dacdc68c 100644 --- a/docs/configuration/cheatsheet.md +++ b/docs/configuration/cheatsheet.md @@ -125,6 +125,8 @@ To add configuration to your config file, you can copy it from the base config. * `Pleroma.Web.ActivityPub.MRF.ActivityExpirationPolicy`: Sets a default expiration on all posts made by users of the local instance. Requires `Pleroma.Workers.PurgeExpiredActivity` to be enabled for processing the scheduled delections. * `Pleroma.Web.ActivityPub.MRF.ForceBotUnlistedPolicy`: Makes all bot posts to disappear from public timelines. * `Pleroma.Web.ActivityPub.MRF.FollowBotPolicy`: Automatically follows newly discovered users from the specified bot account. Local accounts, locked accounts, and users with "#nobot" in their bio are respected and excluded from being followed. + * `Pleroma.Web.ActivityPub.MRF.KeywordPolicy`: Rejects or removes from the federated timeline or replaces keywords. (See [`:mrf_keyword`](#mrf_keyword)). + * `Pleroma.Web.ActivityPub.MRF.ForceMentionsInContent`: Forces every mentioned user to be reflected in the post content. * `transparency`: Make the content of your Message Rewrite Facility settings public (via nodeinfo). * `transparency_exclusions`: Exclude specific instance names from MRF transparency. The use of the exclusions feature will be disclosed in nodeinfo as a boolean value. diff --git a/docs/development/API/pleroma_api.md b/docs/development/API/pleroma_api.md index 2304291e5..0d15384b9 100644 --- a/docs/development/API/pleroma_api.md +++ b/docs/development/API/pleroma_api.md @@ -660,3 +660,38 @@ Emoji reactions work a lot like favourites do. They make it possible to react to "url": "https://example.com/media/backups/archive-foobar-20200910T161803-QUhx6VYDRQ2wfV0SdA2Pfj_2CLM_ATUlw-D5l5TJf4Q.zip" }] ``` + +## `GET /api/oauth_tokens` +### Retrieve a list of active sessions for the user +* Method: `GET` +* Authentication: required +* Params: none +* Response: JSON +* Example response: + +```json +[ + { + "app_name": "Pleroma FE", + "id": 9275, + "valid_until": "2121-11-24T15:51:08.234234" + }, + { + "app_name": "Patron", + "id": 8805, + "valid_until": "2121-10-26T18:09:59.857150" + }, + { + "app_name": "Soapbox FE", + "id": 9727, + "valid_until": "2121-12-25T16:52:39.692877" + } +] +``` + +## `DELETE /api/oauth_tokens/:id` +### Revoke a user session by its ID +* Method: `DELETE` +* Authentication: required +* Params: none +* Response: HTTP 200 on success, 500 on error diff --git a/lib/pleroma/formatter.ex b/lib/pleroma/formatter.ex index ae37946ab..115835378 100644 --- a/lib/pleroma/formatter.ex +++ b/lib/pleroma/formatter.ex @@ -34,32 +34,34 @@ defmodule Pleroma.Formatter do def mention_handler("@" <> nickname, buffer, opts, acc) do case User.get_cached_by_nickname(nickname) do - %User{id: id} = user -> - user_url = user.uri || user.ap_id - nickname_text = get_nickname_text(nickname, opts) - - link = - Phoenix.HTML.Tag.content_tag( - :span, - Phoenix.HTML.Tag.content_tag( - :a, - ["@", Phoenix.HTML.Tag.content_tag(:span, nickname_text)], - "data-user": id, - class: "u-url mention", - href: user_url, - rel: "ugc" - ), - class: "h-card" - ) - |> Phoenix.HTML.safe_to_string() - - {link, %{acc | mentions: MapSet.put(acc.mentions, {"@" <> nickname, user})}} + %User{} = user -> + {mention_from_user(user, opts), + %{acc | mentions: MapSet.put(acc.mentions, {"@" <> nickname, user})}} _ -> {buffer, acc} end end + def mention_from_user(%User{id: id} = user, opts \\ %{mentions_format: :full}) do + user_url = user.uri || user.ap_id + nickname_text = get_nickname_text(user.nickname, opts) + + Phoenix.HTML.Tag.content_tag( + :span, + Phoenix.HTML.Tag.content_tag( + :a, + ["@", Phoenix.HTML.Tag.content_tag(:span, nickname_text)], + "data-user": id, + class: "u-url mention", + href: user_url, + rel: "ugc" + ), + class: "h-card" + ) + |> Phoenix.HTML.safe_to_string() + end + def hashtag_handler("#" <> tag = tag_text, _buffer, _opts, acc) do tag = String.downcase(tag) url = "#{Pleroma.Web.Endpoint.url()}/tag/#{tag}" diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index d608525e8..8bb4fb204 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -1084,6 +1084,10 @@ defmodule Pleroma.User do Repo.get_by(User, ap_id: ap_id) end + def get_by_uri(uri) do + Repo.get_by(User, uri: uri) + end + def get_all_by_ap_id(ap_ids) do from(u in __MODULE__, where: u.ap_id in ^ap_ids diff --git a/lib/pleroma/web/activity_pub/activity_pub.ex b/lib/pleroma/web/activity_pub/activity_pub.ex index bdbcc93f4..7551dd56d 100644 --- a/lib/pleroma/web/activity_pub/activity_pub.ex +++ b/lib/pleroma/web/activity_pub/activity_pub.ex @@ -1675,7 +1675,10 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do "orderedItems" => objects }) when type in ["OrderedCollection", "Collection"] do - Map.new(objects, fn %{"id" => object_ap_id} -> {object_ap_id, NaiveDateTime.utc_now()} end) + Map.new(objects, fn + %{"id" => object_ap_id} -> {object_ap_id, NaiveDateTime.utc_now()} + object_ap_id when is_binary(object_ap_id) -> {object_ap_id, NaiveDateTime.utc_now()} + end) end def fetch_and_prepare_featured_from_ap_id(nil) do diff --git a/lib/pleroma/web/activity_pub/mrf/force_mentions_in_content.ex b/lib/pleroma/web/activity_pub/mrf/force_mentions_in_content.ex new file mode 100644 index 000000000..522ae2f60 --- /dev/null +++ b/lib/pleroma/web/activity_pub/mrf/force_mentions_in_content.ex @@ -0,0 +1,80 @@ +# Pleroma: A lightweight social networking server +# Copyright © 2017-2022 Pleroma Authors +# SPDX-License-Identifier: AGPL-3.0-only + +defmodule Pleroma.Web.ActivityPub.MRF.ForceMentionsInContent do + alias Pleroma.Formatter + alias Pleroma.User + + @behaviour Pleroma.Web.ActivityPub.MRF.Policy + + defp do_extract({:a, attrs, _}, acc) do + if Enum.find(attrs, fn {name, value} -> + name == "class" && value in ["mention", "u-url mention", "mention u-url"] + end) do + href = Enum.find(attrs, fn {name, _} -> name == "href" end) |> elem(1) + acc ++ [href] + else + acc + end + end + + defp do_extract({_, _, children}, acc) do + do_extract(children, acc) + end + + defp do_extract(nodes, acc) when is_list(nodes) do + Enum.reduce(nodes, acc, fn node, acc -> do_extract(node, acc) end) + end + + defp do_extract(_, acc), do: acc + + defp extract_mention_uris_from_content(content) do + {:ok, tree} = :fast_html.decode(content, format: [:html_atoms]) + do_extract(tree, []) + end + + @impl true + def filter(%{"type" => "Create", "object" => %{"type" => "Note", "tag" => tag}} = object) do + # image-only posts from pleroma apparently reach this MRF without the content field + content = object["object"]["content"] || "" + + mention_users = + tag + |> Enum.filter(fn tag -> tag["type"] == "Mention" end) + |> Enum.map(& &1["href"]) + |> Enum.reject(&is_nil/1) + |> Enum.map(fn ap_id_or_uri -> + case User.get_or_fetch_by_ap_id(ap_id_or_uri) do + {:ok, user} -> {ap_id_or_uri, user} + _ -> {ap_id_or_uri, User.get_by_uri(ap_id_or_uri)} + end + end) + |> Enum.reject(fn {_, user} -> user == nil end) + |> Enum.into(%{}) + + explicitly_mentioned_uris = extract_mention_uris_from_content(content) + + added_mentions = + Enum.reduce(mention_users, "", fn {uri, user}, acc -> + unless uri in explicitly_mentioned_uris do + acc <> Formatter.mention_from_user(user) + else + acc + end + end) + + content = + if added_mentions != "", + do: added_mentions <> " " <> content, + else: content + + {:ok, put_in(object["object"]["content"], content)} + end + + @impl true + def filter(object), do: {:ok, object} + + @impl true + def describe, do: {:ok, %{}} +end diff --git a/lib/pleroma/web/mastodon_api/views/instance_view.ex b/lib/pleroma/web/mastodon_api/views/instance_view.ex index f24979048..fa6c20a30 100644 --- a/lib/pleroma/web/mastodon_api/views/instance_view.ex +++ b/lib/pleroma/web/mastodon_api/views/instance_view.ex @@ -67,6 +67,9 @@ defmodule Pleroma.Web.MastodonAPI.InstanceView do "shareable_emoji_packs", "multifetch", "pleroma:api/v1/notifications:include_types_filter", + if Config.get([:activitypub, :blockers_visible]) do + "blockers_visible" + end, if Config.get([:media_proxy, :enabled]) do "media_proxy" end, diff --git a/lib/pleroma/web/templates/o_auth/mfa/totp.html.eex b/lib/pleroma/web/templates/o_auth/mfa/totp.html.eex index 29ea7c5fb..27600253c 100644 --- a/lib/pleroma/web/templates/o_auth/mfa/totp.html.eex +++ b/lib/pleroma/web/templates/o_auth/mfa/totp.html.eex @@ -10,7 +10,7 @@ <%= form_for @conn, Routes.mfa_verify_path(@conn, :verify), [as: "mfa"], fn f -> %>
<%= label f, :code, "Authentication code" %> - <%= text_input f, :code, [autocomplete: false, autocorrect: "off", autocapitalize: "off", autofocus: true, pattern: "[0-9]*", spellcheck: false] %> + <%= text_input f, :code, [autocomplete: "one-time-code", autocorrect: "off", autocapitalize: "off", autofocus: true, pattern: "[0-9]*", spellcheck: false] %> <%= hidden_input f, :mfa_token, value: @mfa_token %> <%= hidden_input f, :state, value: @state %> <%= hidden_input f, :redirect_uri, value: @redirect_uri %> diff --git a/lib/pleroma/web/templates/o_auth/o_auth/register.html.eex b/lib/pleroma/web/templates/o_auth/o_auth/register.html.eex index 99f900fb7..3ac428b2f 100644 --- a/lib/pleroma/web/templates/o_auth/o_auth/register.html.eex +++ b/lib/pleroma/web/templates/o_auth/o_auth/register.html.eex @@ -12,11 +12,11 @@
<%= label f, :nickname, "Nickname" %> - <%= text_input f, :nickname, value: @nickname %> + <%= text_input f, :nickname, value: @nickname, autocomplete: "username" %>
<%= label f, :email, "Email" %> - <%= text_input f, :email, value: @email %> + <%= text_input f, :email, value: @email, autocomplete: "email" %>
<%= submit "Proceed as new user", name: "op", value: "register" %> @@ -25,11 +25,11 @@
<%= label f, :name, "Name or email" %> - <%= text_input f, :name %> + <%= text_input f, :name, autocomplete: "username" %>
<%= label f, :password, "Password" %> - <%= password_input f, :password %> + <%= password_input f, :password, autocomplete: "password" %>
<%= submit "Proceed as existing user", name: "op", value: "connect" %> diff --git a/lib/pleroma/web/templates/o_auth/o_auth/show.html.eex b/lib/pleroma/web/templates/o_auth/o_auth/show.html.eex index 181a9519a..d63da6c1d 100644 --- a/lib/pleroma/web/templates/o_auth/o_auth/show.html.eex +++ b/lib/pleroma/web/templates/o_auth/o_auth/show.html.eex @@ -35,7 +35,7 @@

Choose carefully! You won't be able to change this later. You will be able to change your display name, though.

<%= label f, :nickname, "Pleroma Handle" %> - <%= text_input f, :nickname, placeholder: "lain" %> + <%= text_input f, :nickname, placeholder: "lain", autocomplete: "username" %>
<%= hidden_input f, :name, value: @params["name"] %> <%= hidden_input f, :password, value: @params["password"] %> diff --git a/lib/pleroma/web/templates/twitter_api/remote_follow/follow_login.html.eex b/lib/pleroma/web/templates/twitter_api/remote_follow/follow_login.html.eex index a8026fa9d..bc5fb28e3 100644 --- a/lib/pleroma/web/templates/twitter_api/remote_follow/follow_login.html.eex +++ b/lib/pleroma/web/templates/twitter_api/remote_follow/follow_login.html.eex @@ -5,9 +5,9 @@

<%= @followee.nickname %>

<%= form_for @conn, Routes.remote_follow_path(@conn, :do_follow), [as: "authorization"], fn f -> %> -<%= text_input f, :name, placeholder: "Username", required: true %> +<%= text_input f, :name, placeholder: "Username", required: true, autocomplete: "username" %>
-<%= password_input f, :password, placeholder: "Password", required: true %> +<%= password_input f, :password, placeholder: "Password", required: true, autocomplete: "password" %>
<%= hidden_input f, :id, value: @followee.id %> <%= submit "Authorize" %> diff --git a/mix.exs b/mix.exs index 62010d166..4387cb0aa 100644 --- a/mix.exs +++ b/mix.exs @@ -157,7 +157,7 @@ defmodule Pleroma.Mixfile do {:floki, "~> 0.27"}, {:timex, "~> 3.6"}, {:ueberauth, "~> 0.4"}, - {:linkify, "~> 0.5.1"}, + {:linkify, "~> 0.5.2"}, {:http_signatures, "~> 0.1.1"}, {:telemetry, "~> 0.3"}, {:poolboy, "~> 1.5"}, diff --git a/mix.lock b/mix.lock index 05630a92e..817240538 100644 --- a/mix.lock +++ b/mix.lock @@ -69,7 +69,7 @@ "jose": {:hex, :jose, "1.11.1", "59da64010c69aad6cde2f5b9248b896b84472e99bd18f246085b7b9fe435dcdb", [:mix, :rebar3], [], "hexpm", "078f6c9fb3cd2f4cfafc972c814261a7d1e8d2b3685c0a76eb87e158efff1ac5"}, "jumper": {:hex, :jumper, "1.0.1", "3c00542ef1a83532b72269fab9f0f0c82bf23a35e27d278bfd9ed0865cecabff", [:mix], [], "hexpm", "318c59078ac220e966d27af3646026db9b5a5e6703cb2aa3e26bcfaba65b7433"}, "libring": {:hex, :libring, "1.4.0", "41246ba2f3fbc76b3971f6bce83119dfec1eee17e977a48d8a9cfaaf58c2a8d6", [:mix], [], "hexpm"}, - "linkify": {:hex, :linkify, "0.5.1", "6dc415cbc948b2f6ecec7cb226aab7ba9d3a1815bb501ae33e042334d707ecee", [:mix], [], "hexpm", "a3128c7e22fada4aa7214009501d8131e1fa3faf2f0a68b33dba379dc84ff944"}, + "linkify": {:hex, :linkify, "0.5.2", "fb66be139fdf1656ecb31f78a93592724d1b78d960a1b3598bd661013ea0e3c7", [:mix], [], "hexpm", "8d71ac690218d8952c90cbeb63cb8cc33738bb230d8a56d487d9447f2a5eab86"}, "majic": {:hex, :majic, "1.0.0", "37e50648db5f5c2ff0c9fb46454d034d11596c03683807b9fb3850676ffdaab3", [:make, :mix], [{:elixir_make, "~> 0.6.1", [hex: :elixir_make, repo: "hexpm", optional: false]}, {:mime, "~> 1.0", [hex: :mime, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 0.2", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "7905858f76650d49695f14ea55cd9aaaee0c6654fa391671d4cf305c275a0a9e"}, "makeup": {:hex, :makeup, "1.0.5", "d5a830bc42c9800ce07dd97fa94669dfb93d3bf5fcf6ea7a0c67b2e0e4a7f26c", [:mix], [{:nimble_parsec, "~> 0.5 or ~> 1.0", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "cfa158c02d3f5c0c665d0af11512fed3fba0144cf1aadee0f2ce17747fba2ca9"}, "makeup_elixir": {:hex, :makeup_elixir, "0.14.1", "4f0e96847c63c17841d42c08107405a005a2680eb9c7ccadfd757bd31dabccfb", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "f2438b1a80eaec9ede832b5c41cd4f373b38fd7aa33e3b22d9db79e640cbde11"}, diff --git a/priv/static/index.html b/priv/static/index.html index 9ef3ad6e4..b1455c184 100644 --- a/priv/static/index.html +++ b/priv/static/index.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file diff --git a/priv/static/static/css/app.9a4c5ede37b2f0230836.css b/priv/static/static/css/app.7d2d223f75c3a14b0991.css similarity index 85% rename from priv/static/static/css/app.9a4c5ede37b2f0230836.css rename to priv/static/static/css/app.7d2d223f75c3a14b0991.css index 22b9fdbe7..d79cf910f 100644 --- a/priv/static/static/css/app.9a4c5ede37b2f0230836.css +++ b/priv/static/static/css/app.7d2d223f75c3a14b0991.css @@ -1,3 +1,55 @@ +.RichContent blockquote { + margin: 0.2em 0 0.2em 2em; + font-style: italic; +} +.RichContent pre { + overflow: auto; +} +.RichContent code, +.RichContent samp, +.RichContent kbd, +.RichContent var, +.RichContent pre { + font-family: var(--postCodeFont, monospace); +} +.RichContent p { + margin: 0 0 1em 0; +} +.RichContent p:last-child { + margin: 0 0 0 0; +} +.RichContent h1 { + font-size: 1.1em; + line-height: 1.2em; + margin: 1.4em 0; +} +.RichContent h2 { + font-size: 1.1em; + margin: 1em 0; +} +.RichContent h3 { + font-size: 1em; + margin: 1.2em 0; +} +.RichContent h4 { + margin: 1.1em 0; +} +.RichContent .img { + display: inline-block; +} +.RichContent .emoji { + display: inline-block; + width: var(--emoji-size, 32px); + height: var(--emoji-size, 32px); +} +.RichContent .img, +.RichContent video { + max-width: 100%; + max-height: 400px; + vertical-align: middle; + -o-object-fit: contain; + object-fit: contain; +} .tab-switcher { display: -ms-flexbox; display: flex; @@ -243,4 +295,4 @@ cursor: pointer; } -/*# sourceMappingURL=app.9a4c5ede37b2f0230836.css.map*/ \ No newline at end of file +/*# sourceMappingURL=app.7d2d223f75c3a14b0991.css.map*/ \ No newline at end of file diff --git a/priv/static/static/css/app.7d2d223f75c3a14b0991.css.map b/priv/static/static/css/app.7d2d223f75c3a14b0991.css.map new file mode 100644 index 000000000..ce9a6fa12 --- /dev/null +++ b/priv/static/static/css/app.7d2d223f75c3a14b0991.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./src/components/rich_content/rich_content.scss","webpack:///./src/components/tab_switcher/tab_switcher.scss","webpack:///./src/hocs/with_load_more/with_load_more.scss"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;ACnDA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;ACtOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C","file":"static/css/app.7d2d223f75c3a14b0991.css","sourcesContent":[".RichContent blockquote {\n margin: 0.2em 0 0.2em 2em;\n font-style: italic;\n}\n.RichContent pre {\n overflow: auto;\n}\n.RichContent code,\n.RichContent samp,\n.RichContent kbd,\n.RichContent var,\n.RichContent pre {\n font-family: var(--postCodeFont, monospace);\n}\n.RichContent p {\n margin: 0 0 1em 0;\n}\n.RichContent p:last-child {\n margin: 0 0 0 0;\n}\n.RichContent h1 {\n font-size: 1.1em;\n line-height: 1.2em;\n margin: 1.4em 0;\n}\n.RichContent h2 {\n font-size: 1.1em;\n margin: 1em 0;\n}\n.RichContent h3 {\n font-size: 1em;\n margin: 1.2em 0;\n}\n.RichContent h4 {\n margin: 1.1em 0;\n}\n.RichContent .img {\n display: inline-block;\n}\n.RichContent .emoji {\n display: inline-block;\n width: var(--emoji-size, 32px);\n height: var(--emoji-size, 32px);\n}\n.RichContent .img,\n.RichContent video {\n max-width: 100%;\n max-height: 400px;\n vertical-align: middle;\n -o-object-fit: contain;\n object-fit: contain;\n}",".tab-switcher {\n display: -ms-flexbox;\n display: flex;\n}\n.tab-switcher .tab-icon {\n margin: 0.2em auto;\n display: block;\n}\n.tab-switcher.top-tabs {\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.tab-switcher.top-tabs > .tabs {\n width: 100%;\n overflow-y: hidden;\n overflow-x: auto;\n padding-top: 5px;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n.tab-switcher.top-tabs > .tabs::after, .tab-switcher.top-tabs > .tabs::before {\n content: \"\";\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n border-bottom: 1px solid;\n border-bottom-color: #222;\n border-bottom-color: var(--border, #222);\n}\n.tab-switcher.top-tabs > .tabs .tab-wrapper {\n height: 28px;\n}\n.tab-switcher.top-tabs > .tabs .tab-wrapper:not(.active)::after {\n left: 0;\n right: 0;\n bottom: 0;\n border-bottom: 1px solid;\n border-bottom-color: #222;\n border-bottom-color: var(--border, #222);\n}\n.tab-switcher.top-tabs > .tabs .tab {\n width: 100%;\n min-width: 1px;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n padding-bottom: 99px;\n margin-bottom: -93px;\n}\n.tab-switcher.top-tabs .contents.scrollable-tabs {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n}\n.tab-switcher.side-tabs {\n -ms-flex-direction: row;\n flex-direction: row;\n}\n@media all and (max-width: 800px) {\n .tab-switcher.side-tabs {\n overflow-x: auto;\n }\n}\n.tab-switcher.side-tabs > .contents {\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n}\n.tab-switcher.side-tabs > .tabs {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n overflow-y: auto;\n overflow-x: hidden;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.tab-switcher.side-tabs > .tabs::after, .tab-switcher.side-tabs > .tabs::before {\n -ms-flex-negative: 0;\n flex-shrink: 0;\n -ms-flex-preferred-size: 0.5em;\n flex-basis: 0.5em;\n content: \"\";\n border-right: 1px solid;\n border-right-color: #222;\n border-right-color: var(--border, #222);\n}\n.tab-switcher.side-tabs > .tabs::after {\n -ms-flex-positive: 1;\n flex-grow: 1;\n}\n.tab-switcher.side-tabs > .tabs::before {\n -ms-flex-positive: 0;\n flex-grow: 0;\n}\n.tab-switcher.side-tabs > .tabs .tab-wrapper {\n min-width: 10em;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n@media all and (max-width: 800px) {\n .tab-switcher.side-tabs > .tabs .tab-wrapper {\n min-width: 4em;\n }\n}\n.tab-switcher.side-tabs > .tabs .tab-wrapper:not(.active)::after {\n top: 0;\n right: 0;\n bottom: 0;\n border-right: 1px solid;\n border-right-color: #222;\n border-right-color: var(--border, #222);\n}\n.tab-switcher.side-tabs > .tabs .tab-wrapper::before {\n -ms-flex: 0 0 6px;\n flex: 0 0 6px;\n content: \"\";\n border-right: 1px solid;\n border-right-color: #222;\n border-right-color: var(--border, #222);\n}\n.tab-switcher.side-tabs > .tabs .tab-wrapper:last-child .tab {\n margin-bottom: 0;\n}\n.tab-switcher.side-tabs > .tabs .tab {\n -ms-flex: 1;\n flex: 1;\n box-sizing: content-box;\n min-width: 10em;\n min-width: 1px;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n padding-left: 1em;\n padding-right: calc(1em + 200px);\n margin-right: -200px;\n margin-left: 1em;\n}\n@media all and (max-width: 800px) {\n .tab-switcher.side-tabs > .tabs .tab {\n padding-left: 0.25em;\n padding-right: calc(.25em + 200px);\n margin-right: calc(.25em - 200px);\n margin-left: 0.25em;\n }\n .tab-switcher.side-tabs > .tabs .tab .text {\n display: none;\n }\n}\n.tab-switcher .contents {\n -ms-flex: 1 0 auto;\n flex: 1 0 auto;\n min-height: 0px;\n}\n.tab-switcher .contents .hidden {\n display: none;\n}\n.tab-switcher .contents .full-height:not(.hidden) {\n height: 100%;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.tab-switcher .contents .full-height:not(.hidden) > *:not(.mobile-label) {\n -ms-flex: 1;\n flex: 1;\n}\n.tab-switcher .contents.scrollable-tabs {\n overflow-y: auto;\n}\n.tab-switcher .tab {\n position: relative;\n white-space: nowrap;\n padding: 6px 1em;\n background-color: #182230;\n background-color: var(--tab, #182230);\n}\n.tab-switcher .tab, .tab-switcher .tab:active .tab-icon {\n color: #b9b9ba;\n color: var(--tabText, #b9b9ba);\n}\n.tab-switcher .tab:not(.active) {\n z-index: 4;\n}\n.tab-switcher .tab:not(.active):hover {\n z-index: 6;\n}\n.tab-switcher .tab.active {\n background: transparent;\n z-index: 5;\n color: #b9b9ba;\n color: var(--tabActiveText, #b9b9ba);\n}\n.tab-switcher .tab img {\n max-height: 26px;\n vertical-align: top;\n margin-top: -5px;\n}\n.tab-switcher .tabs {\n display: -ms-flexbox;\n display: flex;\n position: relative;\n box-sizing: border-box;\n}\n.tab-switcher .tabs::after, .tab-switcher .tabs::before {\n display: block;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n}\n.tab-switcher .tab-wrapper {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n}\n.tab-switcher .tab-wrapper:not(.active)::after {\n content: \"\";\n position: absolute;\n z-index: 7;\n}\n.tab-switcher .mobile-label {\n padding-left: 0.3em;\n padding-bottom: 0.25em;\n margin-top: 0.5em;\n margin-left: 0.2em;\n margin-bottom: 0.25em;\n border-bottom: 1px solid var(--border, #222);\n}\n@media all and (min-width: 800px) {\n .tab-switcher .mobile-label {\n display: none;\n }\n}",".with-load-more-footer {\n padding: 10px;\n text-align: center;\n border-top: 1px solid;\n border-top-color: #222;\n border-top-color: var(--border, #222);\n}\n.with-load-more-footer .error {\n font-size: 14px;\n}\n.with-load-more-footer a {\n cursor: pointer;\n}"],"sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/css/app.9a4c5ede37b2f0230836.css.map b/priv/static/static/css/app.9a4c5ede37b2f0230836.css.map deleted file mode 100644 index f54bd9ee6..000000000 --- a/priv/static/static/css/app.9a4c5ede37b2f0230836.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./src/components/tab_switcher/tab_switcher.scss","webpack:///./src/hocs/with_load_more/with_load_more.scss"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;ACtOA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C","file":"static/css/app.9a4c5ede37b2f0230836.css","sourcesContent":[".tab-switcher {\n display: -ms-flexbox;\n display: flex;\n}\n.tab-switcher .tab-icon {\n margin: 0.2em auto;\n display: block;\n}\n.tab-switcher.top-tabs {\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.tab-switcher.top-tabs > .tabs {\n width: 100%;\n overflow-y: hidden;\n overflow-x: auto;\n padding-top: 5px;\n -ms-flex-direction: row;\n flex-direction: row;\n}\n.tab-switcher.top-tabs > .tabs::after, .tab-switcher.top-tabs > .tabs::before {\n content: \"\";\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n border-bottom: 1px solid;\n border-bottom-color: #222;\n border-bottom-color: var(--border, #222);\n}\n.tab-switcher.top-tabs > .tabs .tab-wrapper {\n height: 28px;\n}\n.tab-switcher.top-tabs > .tabs .tab-wrapper:not(.active)::after {\n left: 0;\n right: 0;\n bottom: 0;\n border-bottom: 1px solid;\n border-bottom-color: #222;\n border-bottom-color: var(--border, #222);\n}\n.tab-switcher.top-tabs > .tabs .tab {\n width: 100%;\n min-width: 1px;\n border-bottom-left-radius: 0;\n border-bottom-right-radius: 0;\n padding-bottom: 99px;\n margin-bottom: -93px;\n}\n.tab-switcher.top-tabs .contents.scrollable-tabs {\n -ms-flex-preferred-size: 0;\n flex-basis: 0;\n}\n.tab-switcher.side-tabs {\n -ms-flex-direction: row;\n flex-direction: row;\n}\n@media all and (max-width: 800px) {\n .tab-switcher.side-tabs {\n overflow-x: auto;\n }\n}\n.tab-switcher.side-tabs > .contents {\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n}\n.tab-switcher.side-tabs > .tabs {\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n overflow-y: auto;\n overflow-x: hidden;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.tab-switcher.side-tabs > .tabs::after, .tab-switcher.side-tabs > .tabs::before {\n -ms-flex-negative: 0;\n flex-shrink: 0;\n -ms-flex-preferred-size: 0.5em;\n flex-basis: 0.5em;\n content: \"\";\n border-right: 1px solid;\n border-right-color: #222;\n border-right-color: var(--border, #222);\n}\n.tab-switcher.side-tabs > .tabs::after {\n -ms-flex-positive: 1;\n flex-grow: 1;\n}\n.tab-switcher.side-tabs > .tabs::before {\n -ms-flex-positive: 0;\n flex-grow: 0;\n}\n.tab-switcher.side-tabs > .tabs .tab-wrapper {\n min-width: 10em;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n@media all and (max-width: 800px) {\n .tab-switcher.side-tabs > .tabs .tab-wrapper {\n min-width: 4em;\n }\n}\n.tab-switcher.side-tabs > .tabs .tab-wrapper:not(.active)::after {\n top: 0;\n right: 0;\n bottom: 0;\n border-right: 1px solid;\n border-right-color: #222;\n border-right-color: var(--border, #222);\n}\n.tab-switcher.side-tabs > .tabs .tab-wrapper::before {\n -ms-flex: 0 0 6px;\n flex: 0 0 6px;\n content: \"\";\n border-right: 1px solid;\n border-right-color: #222;\n border-right-color: var(--border, #222);\n}\n.tab-switcher.side-tabs > .tabs .tab-wrapper:last-child .tab {\n margin-bottom: 0;\n}\n.tab-switcher.side-tabs > .tabs .tab {\n -ms-flex: 1;\n flex: 1;\n box-sizing: content-box;\n min-width: 10em;\n min-width: 1px;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n padding-left: 1em;\n padding-right: calc(1em + 200px);\n margin-right: -200px;\n margin-left: 1em;\n}\n@media all and (max-width: 800px) {\n .tab-switcher.side-tabs > .tabs .tab {\n padding-left: 0.25em;\n padding-right: calc(.25em + 200px);\n margin-right: calc(.25em - 200px);\n margin-left: 0.25em;\n }\n .tab-switcher.side-tabs > .tabs .tab .text {\n display: none;\n }\n}\n.tab-switcher .contents {\n -ms-flex: 1 0 auto;\n flex: 1 0 auto;\n min-height: 0px;\n}\n.tab-switcher .contents .hidden {\n display: none;\n}\n.tab-switcher .contents .full-height:not(.hidden) {\n height: 100%;\n display: -ms-flexbox;\n display: flex;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n.tab-switcher .contents .full-height:not(.hidden) > *:not(.mobile-label) {\n -ms-flex: 1;\n flex: 1;\n}\n.tab-switcher .contents.scrollable-tabs {\n overflow-y: auto;\n}\n.tab-switcher .tab {\n position: relative;\n white-space: nowrap;\n padding: 6px 1em;\n background-color: #182230;\n background-color: var(--tab, #182230);\n}\n.tab-switcher .tab, .tab-switcher .tab:active .tab-icon {\n color: #b9b9ba;\n color: var(--tabText, #b9b9ba);\n}\n.tab-switcher .tab:not(.active) {\n z-index: 4;\n}\n.tab-switcher .tab:not(.active):hover {\n z-index: 6;\n}\n.tab-switcher .tab.active {\n background: transparent;\n z-index: 5;\n color: #b9b9ba;\n color: var(--tabActiveText, #b9b9ba);\n}\n.tab-switcher .tab img {\n max-height: 26px;\n vertical-align: top;\n margin-top: -5px;\n}\n.tab-switcher .tabs {\n display: -ms-flexbox;\n display: flex;\n position: relative;\n box-sizing: border-box;\n}\n.tab-switcher .tabs::after, .tab-switcher .tabs::before {\n display: block;\n -ms-flex: 1 1 auto;\n flex: 1 1 auto;\n}\n.tab-switcher .tab-wrapper {\n position: relative;\n display: -ms-flexbox;\n display: flex;\n -ms-flex: 0 0 auto;\n flex: 0 0 auto;\n}\n.tab-switcher .tab-wrapper:not(.active)::after {\n content: \"\";\n position: absolute;\n z-index: 7;\n}\n.tab-switcher .mobile-label {\n padding-left: 0.3em;\n padding-bottom: 0.25em;\n margin-top: 0.5em;\n margin-left: 0.2em;\n margin-bottom: 0.25em;\n border-bottom: 1px solid var(--border, #222);\n}\n@media all and (min-width: 800px) {\n .tab-switcher .mobile-label {\n display: none;\n }\n}",".with-load-more-footer {\n padding: 10px;\n text-align: center;\n border-top: 1px solid;\n border-top-color: #222;\n border-top-color: var(--border, #222);\n}\n.with-load-more-footer .error {\n font-size: 14px;\n}\n.with-load-more-footer a {\n cursor: pointer;\n}"],"sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/10.02ffbc25214f297f720f.js b/priv/static/static/js/10.02ffbc25214f297f720f.js new file mode 100644 index 000000000..fbe426710 --- /dev/null +++ b/priv/static/static/js/10.02ffbc25214f297f720f.js @@ -0,0 +1,2 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{603:function(e){e.exports=JSON.parse('{"chat":{"title":"Chat"},"exporter":{"export":"Exportar","processing":"Procesando. Pronto se te pedirá que descargues tu archivo"},"features_panel":{"chat":"Chat","gopher":"Gopher","media_proxy":"Proxy de medios","scope_options":"Opciones del alcance de la visibilidad","text_limit":"Límite de caracteres","title":"Características","who_to_follow":"A quién seguir","pleroma_chat_messages":"Chat de Pleroma","upload_limit":"Límite de subida"},"finder":{"error_fetching_user":"Error al buscar usuario","find_user":"Encontrar usuario"},"general":{"apply":"Aplicar","submit":"Enviar","more":"Más","generic_error":"Ha ocurrido un error","optional":"opcional","show_more":"Mostrar más","show_less":"Mostrar menos","cancel":"Cancelar","disable":"Inhabilitar","enable":"Habilitar","confirm":"Confirmar","verify":"Verificar","peek":"Previsualizar","close":"Cerrar","dismiss":"Descartar","retry":"Inténtalo de nuevo","error_retry":"Por favor, inténtalo de nuevo","loading":"Cargando…","role":{"admin":"Administrador/a","moderator":"Moderador/a"},"flash_content":"Haga clic para mostrar contenido Flash usando Ruffle (experimental, puede que no funcione).","flash_security":"Tenga en cuenta que esto puede ser potencialmente peligroso ya que el contenido Flash sigue siendo código arbitrario.","flash_fail":"No se pudo cargar el contenido flash, consulte la consola para obtener más detalles."},"image_cropper":{"crop_picture":"Recortar la foto","save":"Guardar","save_without_cropping":"Guardar sin recortar","cancel":"Cancelar"},"importer":{"submit":"Enviar","success":"Importado con éxito.","error":"Se ha producido un error al importar el archivo."},"login":{"login":"Identificarse","description":"Identificarse con OAuth","logout":"Cerrar sesión","password":"Contraseña","placeholder":"p.ej. lain","register":"Registrarse","username":"Usuario","hint":"Inicia sesión para unirte a la discusión","authentication_code":"Código de autenticación","enter_recovery_code":"Inserta el código de recuperación","enter_two_factor_code":"Inserta el código de dos factores","recovery_code":"Código de recuperación","heading":{"totp":"Autenticación de dos factores","recovery":"Recuperación de dos factores"}},"media_modal":{"previous":"Anterior","next":"Siguiente"},"nav":{"about":"Acerca de","administration":"Administración","back":"Volver","chat":"Chat Local","friend_requests":"Solicitudes de seguimiento","mentions":"Menciones","interactions":"Interacciones","dms":"Mensajes directos","public_tl":"Línea temporal pública","timeline":"Línea Temporal","twkn":"Red Conocida","user_search":"Búsqueda de Usuarios","search":"Buscar","who_to_follow":"A quién seguir","preferences":"Preferencias","chats":"Chats","timelines":"Líneas de Tiempo","bookmarks":"Marcadores","home_timeline":"Línea temporal personal"},"notifications":{"broken_favorite":"Estado desconocido, buscándolo…","favorited_you":"le gusta tu estado","followed_you":"empezó a seguirte","load_older":"Cargar notificaciones antiguas","notifications":"Notificaciones","read":"¡Leído!","repeated_you":"repitió tu estado","no_more_notifications":"No hay más notificaciones","reacted_with":"reaccionó con {0}","migrated_to":"migrado a","follow_request":"quiere seguirte","error":"Error obteniendo notificaciones:{0}"},"polls":{"add_poll":"Añadir encuesta","add_option":"Añadir opción","option":"Opción","votes":"votos","vote":"Votar","type":"Tipo de encuesta","single_choice":"Elección única","multiple_choices":"Elección múltiple","expiry":"Tiempo de vida de la encuesta","expires_in":"La encuesta termina en {0}","expired":"La encuesta terminó hace {0}","not_enough_options":"Muy pocas opciones únicas en la encuesta","people_voted_count":"{count} persona votó | {count} personas votaron","votes_count":"{count} voto | {count} votos"},"emoji":{"stickers":"Pegatinas","emoji":"Emoji","keep_open":"Mantener el selector abierto","search_emoji":"Buscar un emoji","add_emoji":"Insertar un emoji","custom":"Emojis personalizados","unicode":"Emojis unicode","load_all":"Cargando todos los {emojiAmount} emoji","load_all_hint":"Cargado el primer emoji {saneAmount}, cargar todos los emoji puede causar problemas de rendimiento."},"stickers":{"add_sticker":"Añadir Pegatina"},"interactions":{"favs_repeats":"Favoritos y repetidos","follows":"Nuevos seguidores","load_older":"Cargar interacciones más antiguas","moves":"Usuario migrado"},"post_status":{"new_status":"Publicar un nuevo estado","account_not_locked_warning":"Tu cuenta no está {0}. Cualquiera puede seguirte y leer las publicaciones para Solo-Seguidores.","account_not_locked_warning_link":"bloqueada","attachments_sensitive":"Contenido sensible","content_type":{"text/plain":"Texto Plano","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},"content_warning":"Tema (opcional)","default":"Acabo de aterrizar en L.A.","direct_warning_to_all":"Esta publicación será visible para todos los usuarios mencionados.","direct_warning_to_first_only":"Esta publicación solo será visible para los usuarios mencionados al comienzo del mensaje.","posting":"Publicando","scope_notice":{"public":"Esta publicación será visible para todo el mundo","private":"Esta publicación solo será visible para tus seguidores","unlisted":"Esta publicación no será visible en la Línea Temporal Pública ni en Toda La Red Conocida"},"scope":{"direct":"Directo - solo para los usuarios mencionados","private":"Solo-seguidores - solo tus seguidores leerán la publicación","public":"Público - publicaciones visibles en las líneas temporales públicas","unlisted":"Sin listar -publicaciones no visibles en las líneas temporales públicas"},"media_description_error":"Error al actualizar el archivo, inténtalo de nuevo","empty_status_error":"No se puede publicar un estado vacío y sin archivos adjuntos","preview_empty":"Vacío","preview":"Vista previa","media_description":"Descripción multimedia","post":"Publicar"},"registration":{"bio":"Biografía","email":"Correo electrónico","fullname":"Nombre a mostrar","password_confirm":"Confirmar contraseña","registration":"Registro","token":"Token de invitación","captcha":"CAPTCHA","new_captcha":"Haz click en la imagen para obtener un nuevo captcha","username_placeholder":"p.ej. lain","fullname_placeholder":"p.ej. Lain Iwakura","bio_placeholder":"e.g.\\nHola, soy un ejemplo.\\nAquí puedes poner algo representativo tuyo... o no.","validations":{"username_required":"no puede estar vacío","fullname_required":"no puede estar vacío","email_required":"no puede estar vacío","password_required":"no puede estar vacío","password_confirmation_required":"no puede estar vacío","password_confirmation_match":"la contraseña no coincide"},"reason_placeholder":"Los registros de esta instancia son aprobados manualmente.\\nComéntanos por qué quieres registrarte aquí.","reason":"Razón para registrarse","register":"Registrarse"},"selectable_list":{"select_all":"Seleccionar todo"},"settings":{"app_name":"Nombre de la aplicación","security":"Seguridad","enter_current_password_to_confirm":"Introduce la contraseña actual para confirmar tu identidad","mfa":{"otp":"OTP","setup_otp":"Configurar OTP","wait_pre_setup_otp":"preconfiguración OTP","confirm_and_enable":"Confirmar y habilitar OTP","title":"Autentificación de dos factores","generate_new_recovery_codes":"Generar códigos de recuperación nuevos","warning_of_generate_new_codes":"Cuando generas nuevos códigos de recuperación, los antiguos dejarán de funcionar.","recovery_codes":"Códigos de recuperación.","waiting_a_recovery_codes":"Recibiendo códigos de respaldo…","recovery_codes_warning":"Anote los códigos o guárdelos en un lugar seguro, de lo contrario no los volverá a ver. Si pierde el acceso a su aplicación 2FA y los códigos de recuperación, su cuenta quedará bloqueada.","authentication_methods":"Métodos de autentificación","scan":{"title":"Escanear","desc":"Usando su aplicación de dos factores, escanee este código QR o ingrese la clave de texto:","secret_code":"Clave"},"verify":{"desc":"Para habilitar la autenticación de dos factores, ingrese el código de su aplicación 2FA:"}},"attachmentRadius":"Adjuntos","attachments":"Adjuntos","avatar":"Avatar","avatarAltRadius":"Avatares (notificaciones)","avatarRadius":"Avatares","background":"Fondo","bio":"Biografía","block_export":"Exportar usuarios bloqueados","block_export_button":"Exporta la lista de tus usuarios bloqueados a un archivo csv","block_import":"Importar usuarios bloqueados","block_import_error":"Error importando la lista de usuarios bloqueados","blocks_imported":"¡Lista de usuarios bloqueados importada! El procesado puede tardar un poco.","blocks_tab":"Bloqueados","btnRadius":"Botones","cBlue":"Azul (Responder, seguir)","cGreen":"Verde (Retweet)","cOrange":"Naranja (Favorito)","cRed":"Rojo (Cancelar)","change_password":"Cambiar contraseña","change_password_error":"Hubo un problema cambiando la contraseña.","changed_password":"¡Contraseña cambiada correctamente!","collapse_subject":"Colapsar publicaciones con tema","composing":"Redactando","confirm_new_password":"Confirmar la nueva contraseña","current_avatar":"Tu avatar actual","current_password":"Contraseña actual","current_profile_banner":"Tu cabecera actual","data_import_export_tab":"Importar / Exportar datos","default_vis":"Alcance de visibilidad por defecto","delete_account":"Eliminar la cuenta","discoverable":"Permitir la aparición de esta cuenta en los resultados de búsqueda y otros servicios","delete_account_description":"Eliminar para siempre los datos y desactivar la cuenta.","pad_emoji":"Rellenar con espacios al agregar emojis desde el selector","delete_account_error":"Hubo un error al eliminar tu cuenta. Si el fallo persiste, ponte en contacto con el/la administrador/a de tu instancia.","delete_account_instructions":"Escribe tu contraseña para confirmar la eliminación de tu cuenta.","avatar_size_instruction":"El tamaño mínimo recomendado para el avatar es de 150X150 píxeles.","export_theme":"Exportar tema","filtering":"Filtrado","filtering_explanation":"Todos los estados que contengan estas palabras serán silenciados, una por línea","follow_export":"Exportar personas que tú sigues","follow_export_button":"Exporta tus seguidores a un fichero csv","follow_import":"Importar personas que tú sigues","follow_import_error":"Error al importar el fichero","follows_imported":"¡Importado! Procesarlos llevará tiempo.","foreground":"Primer plano","general":"General","hide_attachments_in_convo":"Ocultar adjuntos en las conversaciones","hide_attachments_in_tl":"Ocultar adjuntos en la línea temporal","hide_muted_posts":"Ocultar las publicaciones de los usuarios silenciados","max_thumbnails":"Cantidad máxima de miniaturas por publicación","hide_isp":"Ocultar el panel específico de la instancia","preload_images":"Precargar las imágenes","use_one_click_nsfw":"Abrir los adjuntos NSFW con un solo click","hide_post_stats":"Ocultar las estadísticas de las publicaciones (p.ej. el número de favoritos)","hide_user_stats":"Ocultar las estadísticas del usuario (p.ej. el número de seguidores)","hide_filtered_statuses":"Ocultar estados filtrados","import_blocks_from_a_csv_file":"Importar lista de usuarios bloqueados dese un archivo csv","import_followers_from_a_csv_file":"Importar personas que tú sigues a partir de un archivo csv","import_theme":"Importar tema","inputRadius":"Campos de entrada","checkboxRadius":"Casillas de verificación","instance_default":"(por defecto: {value})","instance_default_simple":"(por defecto)","interface":"Interfaz","interfaceLanguage":"Idioma","invalid_theme_imported":"El archivo importado no es un tema válido de Pleroma. No se han realizado cambios.","limited_availability":"No disponible en tu navegador","links":"Enlaces","lock_account_description":"Restringir el acceso a tu cuenta solo a seguidores admitidos","loop_video":"Vídeos en bucle","loop_video_silent_only":"Bucle solo en vídeos sin sonido (p.ej. \\"gifs\\" de Mastodon)","mutes_tab":"Silenciados","play_videos_in_modal":"Reproducir los vídeos en un marco emergente","use_contain_fit":"No recortar los adjuntos en miniaturas","name":"Nombre","name_bio":"Nombre y biografía","new_password":"Nueva contraseña","notification_visibility":"Tipos de notificaciones a mostrar","notification_visibility_follows":"Nuevos seguidores","notification_visibility_likes":"Favoritos","notification_visibility_mentions":"Menciones","notification_visibility_repeats":"Repeticiones (Repeats)","no_rich_text_description":"Eliminar el formato de texto enriquecido de todas las publicaciones","no_blocks":"No hay usuarios bloqueados","no_mutes":"No hay usuarios silenciados","hide_follows_description":"No mostrar a quién sigo","hide_followers_description":"No mostrar quién me sigue","hide_follows_count_description":"No mostrar el número de cuentas que sigo","hide_followers_count_description":"No mostrar el número de cuentas que me siguen","show_admin_badge":"Mostrar la insignia de \\"Administrador/a\\" en mi perfil","show_moderator_badge":"Mostrar la insignia de \\"Moderador/a\\" en mi perfil","nsfw_clickthrough":"Habilitar la ocultación de la imagen de vista previa del enlace y el adjunto para los estados NSFW por defecto","oauth_tokens":"Tokens de OAuth","token":"Token","refresh_token":"Actualizar el token","valid_until":"Válido hasta","revoke_token":"Revocar","panelRadius":"Paneles","pause_on_unfocused":"Parar la transmisión cuando no estés en foco","presets":"Por defecto","profile_background":"Imagen de fondo del perfil","profile_banner":"Imagen de cabecera del perfil","profile_tab":"Perfil","radii_help":"Establezca el redondeo de las esquinas de la interfaz (en píxeles)","replies_in_timeline":"Réplicas en la línea temporal","reply_visibility_all":"Mostrar todas las réplicas","reply_visibility_following":"Solo mostrar réplicas para mí o usuarios a los que sigo","reply_visibility_self":"Solo mostrar réplicas para mí","autohide_floating_post_button":"Ocultar automáticamente el botón \'Nueva Publicación\' (para móviles)","saving_err":"Error al guardar los ajustes","saving_ok":"Ajustes guardados","search_user_to_block":"Buscar usuarios a bloquear","search_user_to_mute":"Buscar usuarios a silenciar","security_tab":"Seguridad","scope_copy":"Copiar la visibilidad de la publicación cuando contestamos (En los mensajes directos (MDs) siempre se copia)","minimal_scopes_mode":"Minimizar las opciones de publicación","set_new_avatar":"Cambiar avatar","set_new_profile_background":"Cambiar el fondo del perfil","set_new_profile_banner":"Cambiar la cabecera del perfil","settings":"Ajustes","subject_input_always_show":"Mostrar siempre el campo del tema","subject_line_behavior":"Copiar el tema en las respuestas","subject_line_email":"Como email: \\"re: tema\\"","subject_line_mastodon":"Como mastodon: copiar como es","subject_line_noop":"No copiar","post_status_content_type":"Formato de publicación","stop_gifs":"Iniciar GIFs al pasar el ratón","streaming":"Habilitar la transmisión automática de nuevas publicaciones cuando se desplaza hacia la parte superior","text":"Texto","theme":"Tema","theme_help":"Use códigos de color hexadecimales (#rrggbb) para personalizar su tema de colores.","theme_help_v2_1":"También puede invalidar los colores y la opacidad de ciertos componentes si activa la casilla de verificación. Use el botón \\"Borrar todo\\" para deshacer los cambios.","theme_help_v2_2":"Los iconos debajo de algunas publicaciones son indicadores de contraste de fondo/texto, desplace el ratón por encima para obtener información más detallada. Tenga en cuenta que cuando se utilizan indicadores de contraste de transparencia se muestra el peor caso posible.","tooltipRadius":"Información/alertas","upload_a_photo":"Subir una foto","user_settings":"Ajustes del Usuario","values":{"false":"no","true":"sí"},"notifications":"Notificaciones","notification_mutes":"Para dejar de recibir notificaciones de un usuario específico, siléncialo.","notification_blocks":"El bloqueo de un usuario detiene todas las notificaciones y también las cancela.","enable_web_push_notifications":"Habilitar las notificiaciones en el navegador","style":{"switcher":{"keep_color":"Mantener colores","keep_shadows":"Mantener sombras","keep_opacity":"Mantener opacidad","keep_roundness":"Mantener redondeces","keep_fonts":"Mantener fuentes","save_load_hint":"Las opciones \\"Mantener\\" conservan las opciones configuradas actualmente al seleccionar o cargar temas, también almacena dichas opciones al exportar un tema. Cuando se desactiven todas las casillas de verificación, el tema de exportación lo guardará todo.","reset":"Reiniciar","clear_all":"Limpiar todo","clear_opacity":"Limpiar opacidad","help":{"snapshot_source_mismatch":"Conflicto de versiones: lo más probable es que el frontend se haya revertido y actualizado nuevamente, si cambió el tema con una versión anterior del frontend, lo más probable es que desee usar la versión anterior; de lo contrario, use la nueva versión.","migration_napshot_gone":"Por alguna razón, faltaba la instantánea, algunas cosas podrían verse diferentes de lo que recuerdas.","migration_snapshot_ok":"Solo para estar seguro, se cargó la instantánea del tema. Puede intentar cargar los datos del tema.","fe_downgraded":"Versión de PleromaFE revertida.","fe_upgraded":"El creador de temas de PleromaFE se actualizó después de la actualización de la versión.","snapshot_missing":"No había ninguna instantánea del tema en el archivo, por lo que podría verse diferente de lo previsto originalmente.","snapshot_present":"Se ha cargado una instantánea del tema, por lo que todos los valores se sobrescriben. De lo contrario, puede cargar el tema por completo.","older_version_imported":"El archivo que ha importado se creó en una versión anterior del frontend actual.","v2_imported":"El archivo que ha importado fue creado para un frontend más antiguo. Intentamos maximizar la compatibilidad, pero aún podría haber inconsistencias.","future_version_imported":"El archivo que ha importado se creó para una versión más reciente del frontend.","upgraded_from_v2":"PleromaFE se ha actualizado, el tema podría verse un poco diferente de lo que recuerdas."},"use_source":"Nueva versión","use_snapshot":"Versión antigua","keep_as_is":"Mantener como está","load_theme":"Cargar tema"},"common":{"color":"Color","opacity":"Opacidad","contrast":{"hint":"El ratio de contraste es {ratio}. {level} {context}","level":{"aa":"Cumple con la pauta de nivel AA (mínimo)","aaa":"Cumple con la pauta de nivel AAA (recomendado)","bad":"No cumple con las pautas de accesibilidad"},"context":{"18pt":"para textos grandes (+18pt)","text":"para textos"}}},"common_colors":{"_tab_label":"Común","main":"Colores comunes","foreground_hint":"Vea la pestaña \\"Avanzado\\" para un control más detallado","rgbo":"Iconos, acentos, insignias"},"advanced_colors":{"_tab_label":"Avanzado","alert":"Fondo de Alertas","alert_error":"Error","badge":"Fondo de Insignias","badge_notification":"Notificaciones","panel_header":"Cabecera del panel","top_bar":"Barra superior","borders":"Bordes","buttons":"Botones","inputs":"Campos de entrada","faint_text":"Texto desvanecido","alert_neutral":"Neutral","chat":{"border":"Borde","outgoing":"Salientes","incoming":"Entrantes"},"tabs":"Pestañas","toggled":"Intercambiado","disabled":"Deshabilitado","selectedMenu":"Elemento del menú seleccionado","selectedPost":"Publicación seleccionada","pressed":"Presionado","highlight":"Elementos destacados","icons":"Iconos","poll":"Gráfico de la encuesta","underlay":"Subrayado","popover":"Sugerencias, menús, superposiciones","post":"Publicaciones/Biografías de Usuarios","alert_warning":"Precaución","wallpaper":"Fondo de pantalla"},"radii":{"_tab_label":"Redondez"},"shadows":{"_tab_label":"Sombra e iluminación","component":"Componente","override":"Sobreescribir","shadow_id":"Sombra #{value}","blur":"Difuminar","spread":"Cantidad","inset":"Sombra interior","hint":"Para las sombras, también puede usar --variable como un valor de color para usar las variables CSS3. Tenga en cuenta que establecer la opacidad no funcionará en este caso.","filter_hint":{"always_drop_shadow":"Advertencia, esta sombra siempre usa {0} cuando el navegador lo soporta.","drop_shadow_syntax":"{0} no soporta el parámetro {1} y la palabra clave {2}.","avatar_inset":"Tenga en cuenta que la combinación de sombras interiores como no-interiores en los avatares, puede dar resultados inesperados con los avatares transparentes.","spread_zero":"Sombras con una cantidad > 0 aparecerá como si estuviera puesto a cero","inset_classic":"Las sombras interiores estarán usando {0}"},"components":{"panel":"Panel","panelHeader":"Cabecera del panel","topBar":"Barra superior","avatar":"Avatar del usuario (en la vista del perfil)","avatarStatus":"Avatar del usuario (en la vista de la publicación)","popup":"Ventanas y textos emergentes (popups & tooltips)","button":"Botones","buttonHover":"Botón (encima)","buttonPressed":"Botón (presionado)","buttonPressedHover":"Botón (presionado+encima)","input":"Campo de entrada"},"hintV3":"Para las sombras, también puede usar la notación {0} para usar otro espacio de color."},"fonts":{"_tab_label":"Fuentes","help":"Seleccione la fuente a utilizar para los elementos de la interfaz de usuario. Para \\"personalizar\\", debe ingresar el nombre exacto de la fuente tal como aparece en el sistema.","components":{"interface":"Interfaz","input":"Campos de entrada","post":"Texto de publicaciones","postCode":"Texto monoespaciado en publicación (texto enriquecido)"},"family":"Nombre de la fuente","size":"Tamaño (en px)","weight":"Peso (negrita)","custom":"Personalizado"},"preview":{"header":"Vista previa","content":"Contenido","error":"Ejemplo de error","button":"Botón","text":"Un montón de {0} y {1}","mono":"contenido","input":"Acaba de aterrizar en L.A.","faint_link":"manual útil","fine_print":"¡Lea nuestro {0} para aprender nada útil!","header_faint":"Esto está bien","checkbox":"He revisado los términos y condiciones","link":"un bonito enlace"}},"version":{"title":"Versión","backend_version":"Versión del backend","frontend_version":"Versión del frontend"},"notification_visibility_moves":"Usuario Migrado","greentext":"Texto verde (meme arrows)","notification_setting_hide_notification_contents":"Ocultar el remitente y el contenido de las notificaciones push","notification_setting_privacy":"Privacidad","notification_setting_block_from_strangers":"Bloquea las notificaciones de los usuarios que no sigues","notification_setting_filters":"Filtros","fun":"Divertido","type_domains_to_mute":"Buscar dominios para silenciar","useStreamingApiWarning":"(no recomendado, experimental, puede omitir publicaciones)","useStreamingApi":"Recibir publicaciones y notificaciones en tiempo real","user_mutes":"Usuarios","reset_profile_background":"Restablecer el fondo de pantalla","reset_background_confirm":"¿Estás seguro de restablecer el fondo de pantalla?","reset_banner_confirm":"¿Estás seguro de restablecer la imagen del banner?","reset_avatar_confirm":"¿Estás seguro de restablecer la imagen de avatar?","reset_profile_banner":"Restabler imagen del banner del perfil","reset_avatar":"Restablecer avatar","notification_visibility_emoji_reactions":"Reacciones","new_email":"Nuevo correo electrónico","profile_fields":{"value":"Contenido","name":"Etiqueta","add_field":"Añadir un campo","label":"Metadatos del perfil"},"accent":"Acento","emoji_reactions_on_timeline":"Mostrar las reacciones de emoji en la línea de tiempo","domain_mutes":"Dominios","mutes_and_blocks":"Silenciado y Bloqueados","chatMessageRadius":"Mensaje de chat","changed_email":"¡Correo electrónico modificado correctamente!","change_email_error":"Ha ocurrido un error al intentar modificar tu correo electrónico.","change_email":"Modificar el correo electrónico","bot":"Esta cuenta es un bot","allow_following_move":"Permitir el seguimiento automático, cuando la cuenta que sigues se traslada a otra instancia","virtual_scrolling":"Optimizar la representación de la linea temporal","import_mutes_from_a_csv_file":"Importar silenciados desde un archivo csv","mutes_imported":"¡Silenciados importados! Procesarlos llevará un tiempo.","mute_import_error":"Error al importar los silenciados","mute_import":"Importar silenciados","mute_export_button":"Exportar los silenciados a un archivo csv","mute_export":"Exportar silenciados","hide_wallpaper":"Ocultar el fondo de pantalla de la instancia","setting_changed":"La configuración es diferente a la predeterminada","hide_all_muted_posts":"Ocultar las publicaciones silenciadas","more_settings":"Más opciones","sensitive_by_default":"Identificar las publicaciones como sensibles de forma predeterminada","reply_visibility_self_short":"Mostrar respuestas solo a uno mismo","reply_visibility_following_short":"Mostrar las réplicas a mis seguidores","hide_media_previews":"Ocultar la vista previa multimedia","word_filter":"Filtro de palabras","save":"Guardar los cambios","file_export_import":{"errors":{"invalid_file":"El archivo seleccionado no es válido como copia de seguridad de Pleroma. No se han realizado cambios.","file_too_new":"Versión principal incompatible: {fileMajor}, este \\"FrontEnd\\" de Pleroma (versión de configuración {feMajor}) es demasiado antiguo para manejarlo","file_too_old":"Versión principal incompatible: {fileMajor}, la versión del archivo es demasiado antigua y no es compatible (versión mínima {FeMajor})","file_slightly_new":"La versión secundaria del archivo es diferente, es posible que algunas configuraciones no se carguen"},"restore_settings":"Restaurar ajustes desde archivo","backup_settings_theme":"Descargar la copia de seguridad de la configuración y del tema","backup_settings":"Descargar la copia de seguridad de la configuración","backup_restore":"Copia de seguridad de la configuración"},"hide_shoutbox":"Ocultar cuadro de diálogo de la instancia","right_sidebar":"Mostrar la barra lateral a la derecha"},"time":{"day":"{0} día","days":"{0} días","day_short":"{0}d","days_short":"{0}d","hour":"{0} hora","hours":"{0} horas","hour_short":"{0}h","hours_short":"{0}h","in_future":"en {0}","in_past":"hace {0}","minute":"{0} minuto","minutes":"{0} minutos","minute_short":"{0}min","minutes_short":"{0}min","month":"{0} mes","months":"{0} meses","month_short":"{0}m","months_short":"{0}m","now":"justo ahora","now_short":"ahora","second":"{0} segundo","seconds":"{0} segundos","second_short":"{0}s","seconds_short":"{0}s","week":"{0} semana","weeks":"{0} semanas","week_short":"{0}sem","weeks_short":"{0}sem","year":"{0} año","years":"{0} años","year_short":"{0}a","years_short":"{0}a"},"timeline":{"collapse":"Colapsar","conversation":"Conversación","error_fetching":"Error al cargar las actualizaciones","load_older":"Cargar actualizaciones anteriores","no_retweet_hint":"La publicación está marcada como solo para seguidores o directa y no se puede repetir","repeated":"repetida","show_new":"Mostrar lo nuevo","up_to_date":"Actualizado","no_more_statuses":"No hay más estados","no_statuses":"Sin estados","reload":"Recargar","error":"Error obteniendo la linea de tiempo:{0}","socket_broke":"Conexión en timpo real perdida: código del motivo {0}","socket_reconnected":"Establecida la conexión en tiempo real"},"status":{"favorites":"Favoritos","repeats":"Repetidos","delete":"Eliminar publicación","pin":"Fijar en tu perfil","unpin":"Desclavar de tu perfil","pinned":"Fijado","delete_confirm":"¿Realmente quieres borrar la publicación?","reply_to":"Respondiendo a","replies_list":"Respuestas:","mute_conversation":"Silenciar la conversación","unmute_conversation":"Mostrar la conversación","hide_content":"Ocultar el contenido","show_content":"Mostrar el contenido","hide_full_subject":"Ocultar el tema completo","show_full_subject":"Mostrar el tema completo","thread_muted_and_words":", contiene:","thread_muted":"Conversación silenciada","copy_link":"Copiar el enlace al estado","status_unavailable":"Estado no disponible","bookmark":"Marcar","unbookmark":"Desmarcar","status_deleted":"Esta publicación ha sido eliminada","nsfw":"NSFW (No apropiado para el trabajo)","expand":"Expandir","external_source":"Fuente externa"},"user_card":{"approve":"Aprobar","block":"Bloquear","blocked":"¡Bloqueado!","deny":"Denegar","favorites":"Favoritos","follow":"Seguir","follow_sent":"¡Solicitud enviada!","follow_progress":"Solicitando…","follow_unfollow":"Dejar de seguir","followees":"Siguiendo","followers":"Seguidores","following":"¡Siguiendo!","follows_you":"¡Te sigue!","its_you":"¡Eres tú!","media":"Media","mention":"Mencionar","mute":"Silenciar","muted":"Silenciado","per_day":"por día","remote_follow":"Seguir","report":"Reportar","statuses":"Estados","subscribe":"Suscribirse","unsubscribe":"Desuscribirse","unblock":"Desbloquear","unblock_progress":"Desbloqueando…","block_progress":"Bloqueando…","unmute":"Dejar de silenciar","unmute_progress":"Quitando silencio…","mute_progress":"Silenciando…","admin_menu":{"moderation":"Moderación","grant_admin":"Conceder permisos de Administrador/a","revoke_admin":"Revocar permisos de Administrador/a","grant_moderator":"Conceder permisos de Moderador/a","revoke_moderator":"Revocar permisos de Moderador/a","activate_account":"Activar cuenta","deactivate_account":"Desactivar cuenta","delete_account":"Eliminar cuenta","force_nsfw":"Marcar todas las publicaciones como NSFW (no es seguro/apropiado para el trabajo)","strip_media":"Eliminar archivos multimedia de las publicaciones","force_unlisted":"Forzar que se publique en el modo -Sin Listar-","sandbox":"Forzar que se publique solo para tus seguidores","disable_remote_subscription":"No permitir que usuarios de instancias remotas te siga","disable_any_subscription":"No permitir que ningún usuario te siga","quarantine":"No permitir publicaciones de usuarios de instancias remotas","delete_user":"Eliminar usuario","delete_user_confirmation":"¿Estás completamente seguro? Esta acción no se puede deshacer."},"show_repeats":"Mostrar repetidos","hide_repeats":"Ocultar repetidos","message":"Mensaje","hidden":"Oculto","roles":{"moderator":"Moderador","admin":"Administrador"},"highlight":{"striped":"Fondo rayado","side":"Raya lateral","solid":"Fondo sólido","disabled":"Sin resaltado"},"bot":"Bot","edit_profile":"Edita el perfil"},"user_profile":{"timeline_title":"Línea temporal del usuario","profile_does_not_exist":"Lo sentimos, este perfil no existe.","profile_loading_error":"Lo sentimos, hubo un error al cargar este perfil."},"user_reporting":{"title":"Reportando a {0}","add_comment_description":"El informe será enviado a los/las moderadores/as de su instancia. Puedes proporcionar una explicación de por qué estás reportando esta cuenta a continuación:","additional_comments":"Comentarios adicionales","forward_description":"La cuenta es de otro servidor. ¿Enviar una copia del informe allí también?","forward_to":"Reenviar a {0}","submit":"Enviar","generic_error":"Se produjo un error al procesar la solicitud."},"who_to_follow":{"more":"Más","who_to_follow":"A quién seguir"},"tool_tip":{"media_upload":"Subir multimedia","repeat":"Repetir","reply":"Contestar","favorite":"Favorito","user_settings":"Ajustes de usuario","bookmark":"Marcador","reject_follow_request":"Rechazar la solicitud de seguimiento","accept_follow_request":"Aceptar la solicitud de seguimiento","add_reaction":"Añadir Reacción"},"upload":{"error":{"base":"Subida fallida.","file_too_big":"Archivo demasiado grande [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","default":"Inténtalo más tarde","message":"Error de subida: {0}"},"file_size_units":{"B":"B","KiB":"KiB","MiB":"MiB","GiB":"GiB","TiB":"TiB"}},"search":{"people":"Personas","hashtags":"Etiquetas","person_talking":"{count} personas hablando","people_talking":"{count} gente hablando","no_results":"Sin resultados"},"password_reset":{"forgot_password":"¿Contraseña olvidada?","password_reset":"Restablecer la contraseña","instruction":"Ingrese su dirección de correo electrónico o nombre de usuario. Le enviaremos un enlace para restablecer su contraseña.","placeholder":"Su correo electrónico o nombre de usuario","check_email":"Revise su correo electrónico para obtener un enlace para restablecer su contraseña.","return_home":"Volver a la página de inicio","too_many_requests":"Has alcanzado el límite de intentos, vuelve a intentarlo más tarde.","password_reset_disabled":"El restablecimiento de contraseñas está deshabilitado. Póngase en contacto con el administrador de su instancia.","password_reset_required_but_mailer_is_disabled":"Debes restablecer la contraseña, pero el restablecimiento de contraseñas está deshabilitado. Por favor contacta con el administrador de la instancia.","password_reset_required":"Debes restablecer la contraseña para iniciar sesión."},"errors":{"storage_unavailable":"Pleroma no pudo acceder al almacenamiento del navegador. Su inicio de sesión o su configuración local no se guardarán y puede encontrar problemas inesperados. Intente habilitar las cookies."},"domain_mute_card":{"unmute_progress":"Quitando silencio…","unmute":"Dejar de silenciar","mute_progress":"Silenciando…","mute":"Silenciar"},"about":{"mrf":{"simple":{"accept_desc":"Esta instancia solo acepta mensajes de las siguientes instancias:","media_nsfw_desc":"Esta instancia obliga a que los archivos multimedia se establezcan como sensibles en las publicaciones de las siguientes instancias:","media_nsfw":"Forzar contenido multimedia como sensible","media_removal_desc":"Esta instancia elimina los archivos multimedia de las publicaciones de las siguientes instancias:","media_removal":"Eliminar Multimedia","quarantine":"Cuarentena","ftl_removal_desc":"Esta instancia elimina las siguientes instancias de la línea de tiempo \\"Red Conocida\\":","ftl_removal":"Eliminar de la línea de tiempo \\"Red Conocida\\"","quarantine_desc":"Esta instancia enviará solo publicaciones públicas a las siguientes instancias:","simple_policies":"Políticas específicas de la instancia","reject_desc":"Esta instancia no aceptará mensajes de las siguientes instancias:","reject":"Rechazar","accept":"Aceptar"},"mrf_policies_desc":"Las políticas MRF manipulan la federación de esta instancia con el resto del fediverso. Las siguientes políticas están habilitadas:","mrf_policies":"Habilitar políticas MRF","keyword":{"ftl_removal":"Eliminar de la línea de tiempo \\"Toda La Red Conocida\\"","keyword_policies":"Política de Palabras Clave","is_replaced_by":"→","replace":"Reemplazar","reject":"Rechazar"},"federation":"Federación"},"staff":"Equipo"},"shoutbox":{"title":"Jaula de Grillos"},"remote_user_resolver":{"remote_user_resolver":"Resolución de usuario remoto","error":"No encontrado.","searching_for":"Buscando"},"chats":{"chats":"Chats","empty_chat_list_placeholder":"Aún no tienes ninguna conversación. ¡Inicia una nueva conversación!","error_sending_message":"Algo salió mal al enviar el mensaje.","error_loading_chat":"Algo salió mal al cargar el chat.","delete_confirm":"¿Realmente quieres borrar este mensaje?","more":"Más","empty_message_error":"No puedes publicar un mensaje vacío","new":"Nueva conversación","delete":"Borrar","message_user":"Mensaje de {nickname}","you":"Tú:"},"display_date":{"today":"Hoy"},"file_type":{"file":"Archivo","image":"Imagen","video":"Vídeo","audio":"Audio"}}')}}]); +//# sourceMappingURL=10.02ffbc25214f297f720f.js.map \ No newline at end of file diff --git a/priv/static/static/js/11.7b11fd75fe61d6e10ac6.js.map b/priv/static/static/js/10.02ffbc25214f297f720f.js.map similarity index 56% rename from priv/static/static/js/11.7b11fd75fe61d6e10ac6.js.map rename to priv/static/static/js/10.02ffbc25214f297f720f.js.map index f5b9efef8..6b230613d 100644 --- a/priv/static/static/js/11.7b11fd75fe61d6e10ac6.js.map +++ b/priv/static/static/js/10.02ffbc25214f297f720f.js.map @@ -1 +1 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/11.7b11fd75fe61d6e10ac6.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/10.02ffbc25214f297f720f.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/10.fdbf093cc5602ca4f2e1.js b/priv/static/static/js/10.fdbf093cc5602ca4f2e1.js deleted file mode 100644 index 966332053..000000000 --- a/priv/static/static/js/10.fdbf093cc5602ca4f2e1.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[10],{590:function(e){e.exports=JSON.parse('{"chat":{"title":"Chat"},"exporter":{"export":"Exportar","processing":"Procesando. Pronto se te pedirá que descargues tu archivo"},"features_panel":{"chat":"Chat","gopher":"Gopher","media_proxy":"Proxy de medios","scope_options":"Opciones del alcance de la visibilidad","text_limit":"Límite de caracteres","title":"Características","who_to_follow":"A quién seguir","pleroma_chat_messages":"Chat de Pleroma","upload_limit":"Límite de subida"},"finder":{"error_fetching_user":"Error al buscar usuario","find_user":"Encontrar usuario"},"general":{"apply":"Aplicar","submit":"Enviar","more":"Más","generic_error":"Ha ocurrido un error","optional":"opcional","show_more":"Mostrar más","show_less":"Mostrar menos","cancel":"Cancelar","disable":"Inhabilitar","enable":"Habilitar","confirm":"Confirmar","verify":"Verificar","peek":"Previsualizar","close":"Cerrar","dismiss":"Descartar","retry":"Inténtalo de nuevo","error_retry":"Por favor, inténtalo de nuevo","loading":"Cargando…","role":{"admin":"Administrador/a","moderator":"Moderador/a"}},"image_cropper":{"crop_picture":"Recortar la foto","save":"Guardar","save_without_cropping":"Guardar sin recortar","cancel":"Cancelar"},"importer":{"submit":"Enviar","success":"Importado con éxito.","error":"Se ha producido un error al importar el archivo."},"login":{"login":"Identificarse","description":"Identificarse con OAuth","logout":"Cerrar sesión","password":"Contraseña","placeholder":"p.ej. lain","register":"Registrarse","username":"Usuario","hint":"Inicia sesión para unirte a la discusión","authentication_code":"Código de autenticación","enter_recovery_code":"Inserta el código de recuperación","enter_two_factor_code":"Inserta el código de dos factores","recovery_code":"Código de recuperación","heading":{"totp":"Autenticación de dos factores","recovery":"Recuperación de dos factores"}},"media_modal":{"previous":"Anterior","next":"Siguiente"},"nav":{"about":"Acerca de","administration":"Administración","back":"Volver","chat":"Chat Local","friend_requests":"Solicitudes de seguimiento","mentions":"Menciones","interactions":"Interacciones","dms":"Mensajes directos","public_tl":"Línea temporal pública","timeline":"Línea Temporal","twkn":"Red Conocida","user_search":"Búsqueda de Usuarios","search":"Buscar","who_to_follow":"A quién seguir","preferences":"Preferencias","chats":"Chats","timelines":"Líneas de Tiempo","bookmarks":"Marcadores","home_timeline":"Línea temporal personal"},"notifications":{"broken_favorite":"Estado desconocido, buscándolo…","favorited_you":"le gusta tu estado","followed_you":"empezó a seguirte","load_older":"Cargar notificaciones antiguas","notifications":"Notificaciones","read":"¡Leído!","repeated_you":"repitió tu estado","no_more_notifications":"No hay más notificaciones","reacted_with":"reaccionó con {0}","migrated_to":"migrado a","follow_request":"quiere seguirte","error":"Error obteniendo notificaciones:{0}"},"polls":{"add_poll":"Añadir encuesta","add_option":"Añadir opción","option":"Opción","votes":"votos","vote":"Votar","type":"Tipo de encuesta","single_choice":"Elección única","multiple_choices":"Elección múltiple","expiry":"Tiempo de vida de la encuesta","expires_in":"La encuesta termina en {0}","expired":"La encuesta terminó hace {0}","not_enough_options":"Muy pocas opciones únicas en la encuesta","people_voted_count":"{count} persona votó | {count} personas votaron","votes_count":"{count} voto | {count} votos"},"emoji":{"stickers":"Pegatinas","emoji":"Emoji","keep_open":"Mantener el selector abierto","search_emoji":"Buscar un emoji","add_emoji":"Insertar un emoji","custom":"Emojis personalizados","unicode":"Emojis unicode","load_all":"Cargando todos los {emojiAmount} emoji","load_all_hint":"Cargado el primer emoji {saneAmount}, cargar todos los emoji puede causar problemas de rendimiento."},"stickers":{"add_sticker":"Añadir Pegatina"},"interactions":{"favs_repeats":"Favoritos y repetidos","follows":"Nuevos seguidores","load_older":"Cargar interacciones más antiguas","moves":"Usuario Migrado"},"post_status":{"new_status":"Publicar un nuevo estado","account_not_locked_warning":"Tu cuenta no está {0}. Cualquiera puede seguirte y leer las publicaciones para Solo-Seguidores.","account_not_locked_warning_link":"bloqueada","attachments_sensitive":"Contenido sensible","content_type":{"text/plain":"Texto Plano","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},"content_warning":"Tema (opcional)","default":"Acabo de aterrizar en L.A.","direct_warning_to_all":"Esta publicación será visible para todos los usuarios mencionados.","direct_warning_to_first_only":"Esta publicación solo será visible para los usuarios mencionados al comienzo del mensaje.","posting":"Publicando","scope_notice":{"public":"Esta publicación será visible para todo el mundo","private":"Esta publicación solo será visible para tus seguidores","unlisted":"Esta publicación no será visible en la Línea Temporal Pública ni en Toda La Red Conocida"},"scope":{"direct":"Directo - solo para los usuarios mencionados","private":"Solo-seguidores - solo tus seguidores leerán la publicación","public":"Público - publicaciones visibles en las líneas temporales públicas","unlisted":"Sin listar -publicaciones no visibles en las líneas temporales públicas"},"media_description_error":"Error al actualizar el archivo, inténtalo de nuevo","empty_status_error":"No se puede publicar un estado vacío y sin archivos adjuntos","preview_empty":"Vacío","preview":"Vista previa","media_description":"Descripción multimedia","post":"Publicación"},"registration":{"bio":"Biografía","email":"Correo electrónico","fullname":"Nombre a mostrar","password_confirm":"Confirmar contraseña","registration":"Registro","token":"Token de invitación","captcha":"CAPTCHA","new_captcha":"Haz click en la imagen para obtener un nuevo captcha","username_placeholder":"p.ej. lain","fullname_placeholder":"p.ej. Lain Iwakura","bio_placeholder":"e.g.\\nHola, soy un ejemplo.\\nAquí puedes poner algo representativo tuyo... o no.","validations":{"username_required":"no puede estar vacío","fullname_required":"no puede estar vacío","email_required":"no puede estar vacío","password_required":"no puede estar vacío","password_confirmation_required":"no puede estar vacío","password_confirmation_match":"la contraseña no coincide"},"reason_placeholder":"Los registros de esta instancia son aprobados manualmente.\\nComéntanos por qué quieres registrarte aquí.","reason":"Razón para registrarse","register":"Registrarse"},"selectable_list":{"select_all":"Seleccionar todo"},"settings":{"app_name":"Nombre de la aplicación","security":"Seguridad","enter_current_password_to_confirm":"Introduce la contraseña actual para confirmar tu identidad","mfa":{"otp":"OTP","setup_otp":"Configurar OTP","wait_pre_setup_otp":"preconfiguración OTP","confirm_and_enable":"Confirmar y habilitar OTP","title":"Autentificación de dos factores","generate_new_recovery_codes":"Generar códigos de recuperación nuevos","warning_of_generate_new_codes":"Cuando generas nuevos códigos de recuperación, los antiguos dejarán de funcionar.","recovery_codes":"Códigos de recuperación.","waiting_a_recovery_codes":"Recibiendo códigos de respaldo…","recovery_codes_warning":"Anote los códigos o guárdelos en un lugar seguro, de lo contrario no los volverá a ver. Si pierde el acceso a su aplicación 2FA y los códigos de recuperación, su cuenta quedará bloqueada.","authentication_methods":"Métodos de autentificación","scan":{"title":"Escanear","desc":"Usando su aplicación de dos factores, escanee este código QR o ingrese la clave de texto:","secret_code":"Clave"},"verify":{"desc":"Para habilitar la autenticación de dos factores, ingrese el código de su aplicación 2FA:"}},"attachmentRadius":"Adjuntos","attachments":"Adjuntos","avatar":"Avatar","avatarAltRadius":"Avatares (notificaciones)","avatarRadius":"Avatares","background":"Fondo","bio":"Biografía","block_export":"Exportar usuarios bloqueados","block_export_button":"Exporta la lista de tus usuarios bloqueados a un archivo csv","block_import":"Importar usuarios bloqueados","block_import_error":"Error importando la lista de usuarios bloqueados","blocks_imported":"¡Lista de usuarios bloqueados importada! El procesado puede tardar un poco.","blocks_tab":"Bloqueados","btnRadius":"Botones","cBlue":"Azul (Responder, seguir)","cGreen":"Verde (Retweet)","cOrange":"Naranja (Favorito)","cRed":"Rojo (Cancelar)","change_password":"Cambiar contraseña","change_password_error":"Hubo un problema cambiando la contraseña.","changed_password":"¡Contraseña cambiada correctamente!","collapse_subject":"Colapsar publicaciones con tema","composing":"Redactando","confirm_new_password":"Confirmar la nueva contraseña","current_avatar":"Tu avatar actual","current_password":"Contraseña actual","current_profile_banner":"Tu cabecera actual","data_import_export_tab":"Importar / Exportar datos","default_vis":"Alcance de visibilidad por defecto","delete_account":"Eliminar la cuenta","discoverable":"Permitir la aparición de esta cuenta en los resultados de búsqueda y otros servicios","delete_account_description":"Eliminar para siempre los datos y desactivar la cuenta.","pad_emoji":"Rellenar con espacios al agregar emojis desde el selector","delete_account_error":"Hubo un error al eliminar tu cuenta. Si el fallo persiste, ponte en contacto con el/la administrador/a de tu instancia.","delete_account_instructions":"Escribe tu contraseña para confirmar la eliminación de tu cuenta.","avatar_size_instruction":"El tamaño mínimo recomendado para el avatar es de 150X150 píxeles.","export_theme":"Exportar tema","filtering":"Filtrado","filtering_explanation":"Todos los estados que contengan estas palabras serán silenciados, una por línea","follow_export":"Exportar personas que tú sigues","follow_export_button":"Exporta tus seguidores a un fichero csv","follow_import":"Importar personas que tú sigues","follow_import_error":"Error al importar el fichero","follows_imported":"¡Importado! Procesarlos llevará tiempo.","foreground":"Primer plano","general":"General","hide_attachments_in_convo":"Ocultar adjuntos en las conversaciones","hide_attachments_in_tl":"Ocultar adjuntos en la línea temporal","hide_muted_posts":"Ocultar las publicaciones de los usuarios silenciados","max_thumbnails":"Cantidad máxima de miniaturas por publicación","hide_isp":"Ocultar el panel específico de la instancia","preload_images":"Precargar las imágenes","use_one_click_nsfw":"Abrir los adjuntos NSFW con un solo click","hide_post_stats":"Ocultar las estadísticas de las publicaciones (p.ej. el número de favoritos)","hide_user_stats":"Ocultar las estadísticas del usuario (p.ej. el número de seguidores)","hide_filtered_statuses":"Ocultar estados filtrados","import_blocks_from_a_csv_file":"Importar lista de usuarios bloqueados dese un archivo csv","import_followers_from_a_csv_file":"Importar personas que tú sigues a partir de un archivo csv","import_theme":"Importar tema","inputRadius":"Campos de entrada","checkboxRadius":"Casillas de verificación","instance_default":"(por defecto: {value})","instance_default_simple":"(por defecto)","interface":"Interfaz","interfaceLanguage":"Idioma","invalid_theme_imported":"El archivo importado no es un tema válido de Pleroma. No se han realizado cambios.","limited_availability":"No disponible en tu navegador","links":"Enlaces","lock_account_description":"Restringir el acceso a tu cuenta solo a seguidores admitidos","loop_video":"Vídeos en bucle","loop_video_silent_only":"Bucle solo en vídeos sin sonido (p.ej. \\"gifs\\" de Mastodon)","mutes_tab":"Silenciados","play_videos_in_modal":"Reproducir los vídeos en un marco emergente","use_contain_fit":"No recortar los adjuntos en miniaturas","name":"Nombre","name_bio":"Nombre y biografía","new_password":"Nueva contraseña","notification_visibility":"Tipos de notificaciones a mostrar","notification_visibility_follows":"Nuevos seguidores","notification_visibility_likes":"Favoritos","notification_visibility_mentions":"Menciones","notification_visibility_repeats":"Repeticiones (Repeats)","no_rich_text_description":"Eliminar el formato de texto enriquecido de todas las publicaciones","no_blocks":"No hay usuarios bloqueados","no_mutes":"No hay usuarios silenciados","hide_follows_description":"No mostrar a quién sigo","hide_followers_description":"No mostrar quién me sigue","hide_follows_count_description":"No mostrar el número de cuentas que sigo","hide_followers_count_description":"No mostrar el número de cuentas que me siguen","show_admin_badge":"Mostrar la insignia de \\"Administrador/a\\" en mi perfil","show_moderator_badge":"Mostrar la insignia de \\"Moderador/a\\" en mi perfil","nsfw_clickthrough":"Habilitar la ocultación de la imagen de vista previa del enlace y el adjunto para los estados NSFW por defecto","oauth_tokens":"Tokens de OAuth","token":"Token","refresh_token":"Actualizar el token","valid_until":"Válido hasta","revoke_token":"Revocar","panelRadius":"Paneles","pause_on_unfocused":"Parar la transmisión cuando no estés en foco","presets":"Por defecto","profile_background":"Imagen de fondo del perfil","profile_banner":"Imagen de cabecera del perfil","profile_tab":"Perfil","radii_help":"Establezca el redondeo de las esquinas de la interfaz (en píxeles)","replies_in_timeline":"Réplicas en la línea temporal","reply_visibility_all":"Mostrar todas las réplicas","reply_visibility_following":"Solo mostrar réplicas para mí o usuarios a los que sigo","reply_visibility_self":"Solo mostrar réplicas para mí","autohide_floating_post_button":"Ocultar automáticamente el botón \'Nueva Publicación\' (para móviles)","saving_err":"Error al guardar los ajustes","saving_ok":"Ajustes guardados","search_user_to_block":"Buscar usuarios a bloquear","search_user_to_mute":"Buscar usuarios a silenciar","security_tab":"Seguridad","scope_copy":"Copiar la visibilidad de la publicación cuando contestamos (En los mensajes directos (MDs) siempre se copia)","minimal_scopes_mode":"Minimizar las opciones de publicación","set_new_avatar":"Cambiar avatar","set_new_profile_background":"Cambiar el fondo del perfil","set_new_profile_banner":"Cambiar la cabecera del perfil","settings":"Ajustes","subject_input_always_show":"Mostrar siempre el campo del tema","subject_line_behavior":"Copiar el tema en las respuestas","subject_line_email":"Como email: \\"re: tema\\"","subject_line_mastodon":"Como mastodon: copiar como es","subject_line_noop":"No copiar","post_status_content_type":"Formato de publicación","stop_gifs":"Iniciar GIFs al pasar el ratón","streaming":"Habilitar la transmisión automática de nuevas publicaciones cuando se desplaza hacia la parte superior","text":"Texto","theme":"Tema","theme_help":"Use códigos de color hexadecimales (#rrggbb) para personalizar su tema de colores.","theme_help_v2_1":"También puede invalidar los colores y la opacidad de ciertos componentes si activa la casilla de verificación. Use el botón \\"Borrar todo\\" para deshacer los cambios.","theme_help_v2_2":"Los iconos debajo de algunas publicaciones son indicadores de contraste de fondo/texto, desplace el ratón por encima para obtener información más detallada. Tenga en cuenta que cuando se utilizan indicadores de contraste de transparencia se muestra el peor caso posible.","tooltipRadius":"Información/alertas","upload_a_photo":"Subir una foto","user_settings":"Ajustes del Usuario","values":{"false":"no","true":"sí"},"notifications":"Notificaciones","notification_mutes":"Para dejar de recibir notificaciones de un usuario específico, siléncialo.","notification_blocks":"El bloqueo de un usuario detiene todas las notificaciones y también las cancela.","enable_web_push_notifications":"Habilitar las notificiaciones en el navegador","style":{"switcher":{"keep_color":"Mantener colores","keep_shadows":"Mantener sombras","keep_opacity":"Mantener opacidad","keep_roundness":"Mantener redondeces","keep_fonts":"Mantener fuentes","save_load_hint":"Las opciones \\"Mantener\\" conservan las opciones configuradas actualmente al seleccionar o cargar temas, también almacena dichas opciones al exportar un tema. Cuando se desactiven todas las casillas de verificación, el tema de exportación lo guardará todo.","reset":"Reiniciar","clear_all":"Limpiar todo","clear_opacity":"Limpiar opacidad","help":{"snapshot_source_mismatch":"Conflicto de versiones: lo más probable es que el frontend se haya revertido y actualizado nuevamente, si cambió el tema con una versión anterior del frontend, lo más probable es que desee usar la versión anterior; de lo contrario, use la nueva versión.","migration_napshot_gone":"Por alguna razón, faltaba la instantánea, algunas cosas podrían verse diferentes de lo que recuerdas.","migration_snapshot_ok":"Solo para estar seguro, se cargó la instantánea del tema. Puede intentar cargar los datos del tema.","fe_downgraded":"Versión de PleromaFE revertida.","fe_upgraded":"El creador de temas de PleromaFE se actualizó después de la actualización de la versión.","snapshot_missing":"No había ninguna instantánea del tema en el archivo, por lo que podría verse diferente de lo previsto originalmente.","snapshot_present":"Se ha cargado una instantánea del tema, por lo que todos los valores se sobrescriben. De lo contrario, puede cargar el tema por completo.","older_version_imported":"El archivo que ha importado se creó en una versión anterior del frontend actual.","v2_imported":"El archivo que ha importado fue creado para un frontend más antiguo. Intentamos maximizar la compatibilidad, pero aún podría haber inconsistencias.","future_version_imported":"El archivo que ha importado se creó para una versión más reciente del frontend.","upgraded_from_v2":"PleromaFE se ha actualizado, el tema podría verse un poco diferente de lo que recuerdas."},"use_source":"Nueva versión","use_snapshot":"Versión antigua","keep_as_is":"Mantener como está","load_theme":"Cargar tema"},"common":{"color":"Color","opacity":"Opacidad","contrast":{"hint":"El ratio de contraste es {ratio}. {level} {context}","level":{"aa":"Cumple con la pauta de nivel AA (mínimo)","aaa":"Cumple con la pauta de nivel AAA (recomendado)","bad":"No cumple con las pautas de accesibilidad"},"context":{"18pt":"para textos grandes (+18pt)","text":"para textos"}}},"common_colors":{"_tab_label":"Común","main":"Colores comunes","foreground_hint":"Vea la pestaña \\"Avanzado\\" para un control más detallado","rgbo":"Iconos, acentos, insignias"},"advanced_colors":{"_tab_label":"Avanzado","alert":"Fondo de Alertas","alert_error":"Error","badge":"Fondo de Insignias","badge_notification":"Notificaciones","panel_header":"Cabecera del panel","top_bar":"Barra superior","borders":"Bordes","buttons":"Botones","inputs":"Campos de entrada","faint_text":"Texto desvanecido","alert_neutral":"Neutral","chat":{"border":"Borde","outgoing":"Salientes","incoming":"Entrantes"},"tabs":"Pestañas","toggled":"Intercambiado","disabled":"Deshabilitado","selectedMenu":"Elemento del menú seleccionado","selectedPost":"Publicación seleccionada","pressed":"Presionado","highlight":"Elementos destacados","icons":"Iconos","poll":"Gráfico de la encuesta","underlay":"Subrayado","popover":"Sugerencias, menús, superposiciones","post":"Publicaciones/Biografías de Usuarios","alert_warning":"Precaución","wallpaper":"Fondo de pantalla"},"radii":{"_tab_label":"Redondez"},"shadows":{"_tab_label":"Sombra e iluminación","component":"Componente","override":"Sobreescribir","shadow_id":"Sombra #{value}","blur":"Difuminar","spread":"Cantidad","inset":"Sombra interior","hint":"Para las sombras, también puede usar --variable como un valor de color para usar las variables CSS3. Tenga en cuenta que establecer la opacidad no funcionará en este caso.","filter_hint":{"always_drop_shadow":"Advertencia, esta sombra siempre usa {0} cuando el navegador lo soporta.","drop_shadow_syntax":"{0} no soporta el parámetro {1} y la palabra clave {2}.","avatar_inset":"Tenga en cuenta que la combinación de sombras interiores como no-interiores en los avatares, puede dar resultados inesperados con los avatares transparentes.","spread_zero":"Sombras con una cantidad > 0 aparecerá como si estuviera puesto a cero","inset_classic":"Las sombras interiores estarán usando {0}"},"components":{"panel":"Panel","panelHeader":"Cabecera del panel","topBar":"Barra superior","avatar":"Avatar del usuario (en la vista del perfil)","avatarStatus":"Avatar del usuario (en la vista de la publicación)","popup":"Ventanas y textos emergentes (popups & tooltips)","button":"Botones","buttonHover":"Botón (encima)","buttonPressed":"Botón (presionado)","buttonPressedHover":"Botón (presionado+encima)","input":"Campo de entrada"},"hintV3":"Para las sombras, también puede usar la notación {0} para usar otro espacio de color."},"fonts":{"_tab_label":"Fuentes","help":"Seleccione la fuente a utilizar para los elementos de la interfaz de usuario. Para \\"personalizar\\", debe ingresar el nombre exacto de la fuente tal como aparece en el sistema.","components":{"interface":"Interfaz","input":"Campos de entrada","post":"Texto de publicaciones","postCode":"Texto monoespaciado en publicación (texto enriquecido)"},"family":"Nombre de la fuente","size":"Tamaño (en px)","weight":"Peso (negrita)","custom":"Personalizado"},"preview":{"header":"Vista previa","content":"Contenido","error":"Ejemplo de error","button":"Botón","text":"Un montón de {0} y {1}","mono":"contenido","input":"Acaba de aterrizar en L.A.","faint_link":"manual útil","fine_print":"¡Lea nuestro {0} para aprender nada útil!","header_faint":"Esto está bien","checkbox":"He revisado los términos y condiciones","link":"un bonito enlace"}},"version":{"title":"Versión","backend_version":"Versión del backend","frontend_version":"Versión del frontend"},"notification_visibility_moves":"Usuario Migrado","greentext":"Texto verde (meme arrows)","notification_setting_hide_notification_contents":"Ocultar el remitente y el contenido de las notificaciones push","notification_setting_privacy":"Privacidad","notification_setting_block_from_strangers":"Bloquea las notificaciones de los usuarios que no sigues","notification_setting_filters":"Filtros","fun":"Divertido","type_domains_to_mute":"Buscar dominios para silenciar","useStreamingApiWarning":"(no recomendado, experimental, puede omitir publicaciones)","useStreamingApi":"Recibir publicaciones y notificaciones en tiempo real","user_mutes":"Usuarios","reset_profile_background":"Restablecer el fondo de pantalla","reset_background_confirm":"¿Estás seguro de restablecer el fondo de pantalla?","reset_banner_confirm":"¿Estás seguro de restablecer la imagen del banner?","reset_avatar_confirm":"¿Estás seguro de restablecer la imagen de avatar?","reset_profile_banner":"Restabler imagen del banner del perfil","reset_avatar":"Restablecer avatar","notification_visibility_emoji_reactions":"Reacciones","new_email":"Nuevo correo electrónico","profile_fields":{"value":"Contenido","name":"Etiqueta","add_field":"Añadir un campo","label":"Metadatos del perfil"},"accent":"Acento","emoji_reactions_on_timeline":"Mostrar las reacciones de emoji en la línea de tiempo","domain_mutes":"Dominios","mutes_and_blocks":"Silenciado y Bloqueados","chatMessageRadius":"Mensaje de chat","changed_email":"¡Correo electrónico modificado correctamente!","change_email_error":"Ha ocurrido un error al intentar modificar tu correo electrónico.","change_email":"Modificar el correo electrónico","bot":"Esta cuenta es un bot","allow_following_move":"Permitir el seguimiento automático, cuando la cuenta que sigues se traslada a otra instancia","virtual_scrolling":"Optimizar la representación de la linea temporal","import_mutes_from_a_csv_file":"Importar silenciados desde un archivo csv","mutes_imported":"¡Silenciados importados! Procesarlos llevará un tiempo.","mute_import_error":"Error al importar los silenciados","mute_import":"Importar silenciados","mute_export_button":"Exportar los silenciados a un archivo csv","mute_export":"Exportar silenciados","hide_wallpaper":"Ocultar el fondo de pantalla de la instancia","setting_changed":"La configuración es diferente a la predeterminada","hide_all_muted_posts":"Ocultar las publicaciones silenciadas","more_settings":"Más opciones","sensitive_by_default":"Identificar las publicaciones como sensibles de forma predeterminada","reply_visibility_self_short":"Mostrar respuestas solo a uno mismo","reply_visibility_following_short":"Mostrar las réplicas a mis seguidores","hide_media_previews":"Ocultar la vista previa multimedia","word_filter":"Filtro de palabras","save":"Guardar los cambios","file_export_import":{"errors":{"invalid_file":"El archivo seleccionado no es válido como copia de seguridad de Pleroma. No se han realizado cambios."},"restore_settings":"Restaurar ajustes desde archivo","backup_settings_theme":"Copia de seguridad de la configuración y tema a archivo","backup_settings":"Copia de seguridad de la configuración a archivo","backup_restore":"Copia de seguridad de la configuración"}},"time":{"day":"{0} día","days":"{0} días","day_short":"{0}d","days_short":"{0}d","hour":"{0} hora","hours":"{0} horas","hour_short":"{0}h","hours_short":"{0}h","in_future":"en {0}","in_past":"hace {0}","minute":"{0} minuto","minutes":"{0} minutos","minute_short":"{0}min","minutes_short":"{0}min","month":"{0} mes","months":"{0} meses","month_short":"{0}m","months_short":"{0}m","now":"justo ahora","now_short":"ahora","second":"{0} segundo","seconds":"{0} segundos","second_short":"{0}s","seconds_short":"{0}s","week":"{0} semana","weeks":"{0} semanas","week_short":"{0}sem","weeks_short":"{0}sem","year":"{0} año","years":"{0} años","year_short":"{0}a","years_short":"{0}a"},"timeline":{"collapse":"Colapsar","conversation":"Conversación","error_fetching":"Error al cargar las actualizaciones","load_older":"Cargar actualizaciones anteriores","no_retweet_hint":"La publicación está marcada como solo para seguidores o directa y no se puede repetir","repeated":"repetida","show_new":"Mostrar lo nuevo","up_to_date":"Actualizado","no_more_statuses":"No hay más estados","no_statuses":"Sin estados","reload":"Recargar","error":"Error obteniendo la linea de tiempo:{0}","socket_broke":"Conexión en timpo real perdida: código del motivo {0}","socket_reconnected":"Establecida la conexión en tiempo real"},"status":{"favorites":"Favoritos","repeats":"Repetidos","delete":"Eliminar publicación","pin":"Fijar en tu perfil","unpin":"Desclavar de tu perfil","pinned":"Fijado","delete_confirm":"¿Realmente quieres borrar la publicación?","reply_to":"Respondiendo a","replies_list":"Respuestas:","mute_conversation":"Silenciar la conversación","unmute_conversation":"Mostrar la conversación","hide_content":"Ocultar el contenido","show_content":"Mostrar el contenido","hide_full_subject":"Ocultar el tema completo","show_full_subject":"Mostrar el tema completo","thread_muted_and_words":", contiene:","thread_muted":"Conversación silenciada","copy_link":"Copiar el enlace al estado","status_unavailable":"Estado no disponible","bookmark":"Marcar","unbookmark":"Desmarcar","status_deleted":"Esta publicación ha sido eliminada","nsfw":"NSFW (No apropiado para el trabajo)","expand":"Expandir","external_source":"Fuente externa"},"user_card":{"approve":"Aprobar","block":"Bloquear","blocked":"¡Bloqueado!","deny":"Denegar","favorites":"Favoritos","follow":"Seguir","follow_sent":"¡Solicitud enviada!","follow_progress":"Solicitando…","follow_again":"¿Enviar solicitud de nuevo?","follow_unfollow":"Dejar de seguir","followees":"Siguiendo","followers":"Seguidores","following":"¡Siguiendo!","follows_you":"¡Te sigue!","its_you":"¡Eres tú!","media":"Media","mention":"Mencionar","mute":"Silenciar","muted":"Silenciado","per_day":"por día","remote_follow":"Seguir","report":"Reportar","statuses":"Estados","subscribe":"Suscribirse","unsubscribe":"Desuscribirse","unblock":"Desbloquear","unblock_progress":"Desbloqueando…","block_progress":"Bloqueando…","unmute":"Dejar de silenciar","unmute_progress":"Quitando silencio…","mute_progress":"Silenciando…","admin_menu":{"moderation":"Moderación","grant_admin":"Conceder permisos de Administrador/a","revoke_admin":"Revocar permisos de Administrador/a","grant_moderator":"Conceder permisos de Moderador/a","revoke_moderator":"Revocar permisos de Moderador/a","activate_account":"Activar cuenta","deactivate_account":"Desactivar cuenta","delete_account":"Eliminar cuenta","force_nsfw":"Marcar todas las publicaciones como NSFW (no es seguro/apropiado para el trabajo)","strip_media":"Eliminar archivos multimedia de las publicaciones","force_unlisted":"Forzar que se publique en el modo -Sin Listar-","sandbox":"Forzar que se publique solo para tus seguidores","disable_remote_subscription":"No permitir que usuarios de instancias remotas te siga","disable_any_subscription":"No permitir que ningún usuario te siga","quarantine":"No permitir publicaciones de usuarios de instancias remotas","delete_user":"Eliminar usuario","delete_user_confirmation":"¿Estás completamente seguro? Esta acción no se puede deshacer."},"show_repeats":"Mostrar repetidos","hide_repeats":"Ocultar repetidos","message":"Mensaje","hidden":"Oculto","roles":{"moderator":"Moderador","admin":"Administrador"},"highlight":{"striped":"Fondo rayado","side":"Raya lateral","solid":"Fondo sólido","disabled":"Sin resaltado"},"bot":"Bot"},"user_profile":{"timeline_title":"Línea temporal del usuario","profile_does_not_exist":"Lo sentimos, este perfil no existe.","profile_loading_error":"Lo sentimos, hubo un error al cargar este perfil."},"user_reporting":{"title":"Reportando a {0}","add_comment_description":"El informe será enviado a los/las moderadores/as de su instancia. Puedes proporcionar una explicación de por qué estás reportando esta cuenta a continuación:","additional_comments":"Comentarios adicionales","forward_description":"La cuenta es de otro servidor. ¿Enviar una copia del informe allí también?","forward_to":"Reenviar a {0}","submit":"Enviar","generic_error":"Se produjo un error al procesar la solicitud."},"who_to_follow":{"more":"Más","who_to_follow":"A quién seguir"},"tool_tip":{"media_upload":"Subir multimedia","repeat":"Repetir","reply":"Contestar","favorite":"Favorito","user_settings":"Ajustes de usuario","bookmark":"Marcador","reject_follow_request":"Rechazar la solicitud de seguimiento","accept_follow_request":"Aceptar la solicitud de seguimiento","add_reaction":"Añadir Reacción"},"upload":{"error":{"base":"Subida fallida.","file_too_big":"Archivo demasiado grande [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","default":"Inténtalo más tarde","message":"Error de subida: {0}"},"file_size_units":{"B":"B","KiB":"KiB","MiB":"MiB","GiB":"GiB","TiB":"TiB"}},"search":{"people":"Personas","hashtags":"Etiquetas","person_talking":"{count} personas hablando","people_talking":"{count} gente hablando","no_results":"Sin resultados"},"password_reset":{"forgot_password":"¿Contraseña olvidada?","password_reset":"Restablecer la contraseña","instruction":"Ingrese su dirección de correo electrónico o nombre de usuario. Le enviaremos un enlace para restablecer su contraseña.","placeholder":"Su correo electrónico o nombre de usuario","check_email":"Revise su correo electrónico para obtener un enlace para restablecer su contraseña.","return_home":"Volver a la página de inicio","too_many_requests":"Has alcanzado el límite de intentos, vuelve a intentarlo más tarde.","password_reset_disabled":"El restablecimiento de contraseñas está deshabilitado. Póngase en contacto con el administrador de su instancia.","password_reset_required_but_mailer_is_disabled":"Debes restablecer la contraseña, pero el restablecimiento de contraseñas está deshabilitado. Por favor contacta con el administrador de la instancia.","password_reset_required":"Debes restablecer la contraseña para iniciar sesión."},"errors":{"storage_unavailable":"Pleroma no pudo acceder al almacenamiento del navegador. Su inicio de sesión o su configuración local no se guardarán y puede encontrar problemas inesperados. Intente habilitar las cookies."},"domain_mute_card":{"unmute_progress":"Quitando silencio…","unmute":"Dejar de silenciar","mute_progress":"Silenciando…","mute":"Silenciar"},"about":{"mrf":{"simple":{"accept_desc":"Esta instancia solo acepta mensajes de las siguientes instancias:","media_nsfw_desc":"Esta instancia obliga a que los archivos multimedia se establezcan como sensibles en las publicaciones de las siguientes instancias:","media_nsfw":"Forzar contenido multimedia como sensible","media_removal_desc":"Esta instancia elimina los archivos multimedia de las publicaciones de las siguientes instancias:","media_removal":"Eliminar Multimedia","quarantine":"Cuarentena","ftl_removal_desc":"Esta instancia elimina las siguientes instancias de la línea de tiempo \\"Red Conocida\\":","ftl_removal":"Eliminar de la línea de tiempo \\"Red Conocida\\"","quarantine_desc":"Esta instancia enviará solo publicaciones públicas a las siguientes instancias:","simple_policies":"Políticas específicas de la instancia","reject_desc":"Esta instancia no aceptará mensajes de las siguientes instancias:","reject":"Rechazar","accept":"Aceptar"},"mrf_policies_desc":"Las políticas MRF manipulan la federación de esta instancia con el resto del fediverso. Las siguientes políticas están habilitadas:","mrf_policies":"Habilitar políticas MRF","keyword":{"ftl_removal":"Eliminar de la línea de tiempo \\"Toda La Red Conocida\\"","keyword_policies":"Política de Palabras Clave","is_replaced_by":"→","replace":"Reemplazar","reject":"Rechazar"},"federation":"Federación"},"staff":"Equipo"},"shoutbox":{"title":"Jaula de Grillos"},"remote_user_resolver":{"remote_user_resolver":"Resolución de usuario remoto","error":"No encontrado.","searching_for":"Buscando"},"chats":{"chats":"Chats","empty_chat_list_placeholder":"Aún no tienes ninguna conversación. ¡Inicia una nueva conversación!","error_sending_message":"Algo salió mal al enviar el mensaje.","error_loading_chat":"Algo salió mal al cargar el chat.","delete_confirm":"¿Realmente quieres borrar este mensaje?","more":"Más","empty_message_error":"No puedes publicar un mensaje vacío","new":"Nueva conversación","delete":"Borrar","message_user":"Mensaje de {nickname}","you":"Tú:"},"display_date":{"today":"Hoy"},"file_type":{"file":"Archivo","image":"Imagen","video":"Vídeo","audio":"Audio"}}')}}]); -//# sourceMappingURL=10.fdbf093cc5602ca4f2e1.js.map \ No newline at end of file diff --git a/priv/static/static/js/11.7b11fd75fe61d6e10ac6.js b/priv/static/static/js/11.c173c6036fb3af5581b3.js similarity index 99% rename from priv/static/static/js/11.7b11fd75fe61d6e10ac6.js rename to priv/static/static/js/11.c173c6036fb3af5581b3.js index 2e39538d0..b693d4c53 100644 --- a/priv/static/static/js/11.7b11fd75fe61d6e10ac6.js +++ b/priv/static/static/js/11.c173c6036fb3af5581b3.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{591:function(e){e.exports=JSON.parse('{"finder":{"error_fetching_user":"Viga kasutaja leidmisel","find_user":"Otsi kasutajaid"},"general":{"submit":"Postita","verify":"Kinnita","confirm":"Kinnita","enable":"Luba","disable":"Keela","cancel":"Tühista","dismiss":"Olgu","show_less":"Kuva vähem","show_more":"Kuva rohkem","optional":"valikuline","generic_error":"Esines viga","more":"Rohkem","apply":"Rakenda"},"login":{"login":"Logi sisse","logout":"Logi välja","password":"Parool","placeholder":"nt lain","register":"Registreeru","username":"Kasutajanimi","heading":{"recovery":"Kaheastmelise autentimise taaste","totp":"Kaheastmeline autentimine"},"recovery_code":"Taastekood","enter_two_factor_code":"Sisesta kaheastmelise autentimise kood","enter_recovery_code":"Sisesta taastekood","authentication_code":"Autentimiskood","hint":"Logi sisse, et liituda vestlusega","description":"Logi sisse OAuthiga"},"nav":{"mentions":"Mainimised","public_tl":"Avalik Ajajoon","timeline":"Ajajoon","twkn":"Kogu Teadaolev Võrgustik","preferences":"Eelistused","who_to_follow":"Keda jälgida","search":"Otsing","user_search":"Kasutajaotsing","dms":"Privaatsõnumid","interactions":"Interaktsioonid","friend_requests":"Jägimistaotlused","chat":"Kohalik vestlus","back":"Tagasi","administration":"Administreerimine","about":"Meist"},"notifications":{"followed_you":"alustas sinu jälgimist","notifications":"Teated","read":"Loe!","reacted_with":"reageeris {0}","migrated_to":"kolis","no_more_notifications":"Rohkem teateid ei ole","repeated_you":"taaspostitas su staatuse","load_older":"Laadi vanemad teated","follow_request":"soovib Teid jälgida","favorited_you":"lisas su staatuse lemmikuks","broken_favorite":"Tundmatu staatus, otsin…"},"post_status":{"default":"Just sõitsin elektrirongiga Tallinnast Pääskülla.","posting":"Postitan","scope":{"unlisted":"Peidetud - Ära postita avalikele ajajoontele","public":"Avalil - Postita avalikele ajajoontele","private":"Jälgijatele - Postita ainult jälgijatele","direct":"Privaatne - Postita ainult mainitud kasutajatele"},"scope_notice":{"unlisted":"See postitus ei ole nähtav avalikul ega kogu võrgu ajajoonel","private":"See postitus on nähtav ainult Teie jälgijatele","public":"See postitus on nähtav kõigile"},"direct_warning_to_first_only":"See postitus on nähtav ainult kirja alguses mainitud kasutajatele.","direct_warning_to_all":"See postitus on nähtav kõikidele mainitud kasutajatele.","content_warning":"Pealkiri (valikuline)","content_type":{"text/bbcode":"BBCode","text/markdown":"Markdown","text/html":"HTML","text/plain":"Lihttekst"},"attachments_sensitive":"Märgi manused sensitiivseks","account_not_locked_warning_link":"lukus","account_not_locked_warning":"Teie konto ei ole {0}. Kõik võivad Teid jälgida, et näha Teie ainult-jälgijatele postitusi.","new_status":"Postita uus staatus"},"registration":{"bio":"Bio","email":"E-post","fullname":"Kuvatav nimi","password_confirm":"Parooli kinnitamine","registration":"Registreerimine","validations":{"password_confirmation_match":"peaks olema sama kui salasõna","password_confirmation_required":"ei saa jätta tühjaks","password_required":"ei saa jätta tühjaks","email_required":"ei saa jätta tühjaks","fullname_required":"ei saa jätta tühjaks","username_required":"ei saa jätta tühjaks"},"fullname_placeholder":"Näiteks Lain Iwakura","username_placeholder":"Näiteks lain","new_captcha":"Vajuta pildile, et saada uus captcha","captcha":"CAPTCHA","token":"Kutse võti"},"settings":{"attachments":"Manused","avatar":"Profiilipilt","bio":"Bio","current_avatar":"Sinu praegune profiilipilt","current_profile_banner":"Praegune profiilibänner","filtering":"Sisu filtreerimine","filtering_explanation":"Kõiki staatuseid, mis sisaldavad neid sõnu, ei kuvata. Üks sõna reale","hide_attachments_in_convo":"Peida manused vastlustes","hide_attachments_in_tl":"Peida manused ajajoonel","name":"Nimi","name_bio":"Nimi ja Bio","nsfw_clickthrough":"Peida tööks-mittesobivad(NSFW) manuste hiireklõpsu taha","profile_background":"Profiilitaust","profile_banner":"Profiilibänner","set_new_avatar":"Vali uus profiilipilt","set_new_profile_background":"Vali uus profiilitaust","set_new_profile_banner":"Vali uus profiilibänner","settings":"Sätted","theme":"Teema","user_settings":"Kasutaja sätted","subject_line_noop":"Ära kopeeri","subject_line_mastodon":"Nagu mastodon: kopeeri nagu on","subject_line_email":"Nagu e-post: \\"vs: pealkiri\\"","subject_line_behavior":"Kopeeri pealkiri vastamisel","subject_input_always_show":"Alati kuva pealkirja välja","minimal_scopes_mode":"Peida postituse nähtavussätted","scope_copy":"Kopeeri nähtavussätted vastamisel (Privaatsed on alati kopeeritud)","security_tab":"Turvalisus","search_user_to_mute":"Otsi, keda soovid vaigistada","search_user_to_block":"Otsi, keda soovid blokeerida","saving_ok":"Sätted salvestatud","saving_err":"Sätete salvestamine ebaõnnestus","autohide_floating_post_button":"Automaatselt peida uue postituse nupp (mobiilil)","reply_visibility_self":"Näita ainult vastuseid, mis on suunatud mulle","reply_visibility_following":"Näita ainult vastuseid, mis on suunatud mulle või kasutajatele, keda jälgin","reply_visibility_all":"Näita kõiki vastuseid","replies_in_timeline":"Vastused ajajoonel","radii_help":"Liidese ümardamine (pikslites)","profile_tab":"Profiil","presets":"Salvestatud sätted","pause_on_unfocused":"Peata reaalajas voog kui leht pole fookuses","panelRadius":"Paneelid","revoke_token":"Keela","valid_until":"Kehtiv kuni","refresh_token":"Värskendustoken","token":"Token","oauth_tokens":"OAuth tokenid","show_moderator_badge":"Näita Moderaator silti mu profiilil","show_admin_badge":"Näita Admin silti mu profiilil","hide_followers_count_description":"Ära näita minu jälgijate arvu","hide_follows_count_description":"Ära näita minu jälgimiste arvu","hide_followers_description":"Ära näita minu jälgijaid","hide_follows_description":"Ära näita minu jälgimisi","no_mutes":"Vaigistusi pole","no_blocks":"Blokeeringuid pole","no_rich_text_description":"Muuda kõik postitused lihttekstiks","notification_visibility_emoji_reactions":"Reaktsioonid","notification_visibility_moves":"Kasutaja kolimised","notification_visibility_repeats":"Taaspostitused","notification_visibility_mentions":"Mainimised","notification_visibility_likes":"Lemmikud","notification_visibility_follows":"Jälgimised","notification_visibility":"Milliseid teateid kuvatakse","new_password":"Uus salasõna","new_email":"Uus e-post","use_contain_fit":"Näita eelvaadetes täis suuruses pilte","play_videos_in_modal":"Näita videoid eraldi raamis","mutes_tab":"Vaigistused","loop_video_silent_only":"Loop videod, millel pole heli (nt. Mastodoni \\"gifid\\")","loop_video":"Loop videod","lock_account_description":"Piira oma konto ainult lubatud jälgijatele","links":"Lingid","limited_availability":"Pole Teie veebilehitsejas saadaval","invalid_theme_imported":"Valitud fail ei ole Pleroma kujundus. Kujundusele muudatusi ei tehtud.","interfaceLanguage":"Liidese keel","interface":"Liides","instance_default_simple":"(vaikimisi)","instance_default":"(vaikimisi: {value})","checkboxRadius":"Märkeruudud","inputRadius":"Sisestuskastid","import_theme":"Lae sätted","import_followers_from_a_csv_file":"Impordi jälgimised csv failist","import_blocks_from_a_csv_file":"Impordi blokeeringud csv failist","hide_filtered_statuses":"Peida filtreeritud staatused","hide_user_stats":"Peida kasutaja statistika (nt. jälgijate arv)","hide_post_stats":"Peida postituse statistika (nt. lemmikute arv)","use_one_click_nsfw":"Ava NSFW manused ühe klikiga","preload_images":"Piltide eellaadimine","hide_isp":"Peida instantsipõhine paneel","max_thumbnails":"Maksimaalne lubatud eelvaadete arv postituste kohta","hide_muted_posts":"Peida vaigistatud kasutajate postitused","general":"Üldine","foreground":"Esiplaan","accent":"Rõhk","follows_imported":"Jälgimised imporditud! Nende töötlemine võtab natuke aega.","follow_import_error":"Jälgimiste importimisel tekkis viga","follow_import":"Impordi jälgimised","follow_export_button":"Ekspordi oma jälgimised csv failiks","follow_export":"Ekspordi jälgimised","export_theme":"Salvesta sätted","emoji_reactions_on_timeline":"Näita reaktsioone ajajoonel","pad_emoji":"Lisa emotikonidele tühikud ette ja järgi neid menüüst valides","avatar_size_instruction":"Profiilipildi soovitatud minimaalne suurus on 150x150 pikslit.","domain_mutes":"Domeenid","discoverable":"Luba selle konto ilmumine otsingutulemustes ning muudes teenustes","delete_account_instructions":"Konto kustutamise kinnitamiseks sisestage oma salasõna.","delete_account_error":"Teie konto kustutamisel tekkis viga. Kui see jätkub, palun võtke kontakti administraatoriga.","delete_account_description":"Jäädavalt kustuta oma andmed ja konto.","delete_account":"Kustuta konto","default_vis":"Vaikimisi nähtavus","data_import_export_tab":"Andmete import / eksport","current_password":"Praegune salasõna","confirm_new_password":"Kinnita uus salasõna","composing":"Koostamine","collapse_subject":"Peida postituste pealkirjad","changed_password":"Salasõna edukalt muudetud!","change_password_error":"Esines viga salasõna muutmisel.","change_password":"Muuda salasõna","changed_email":"E-post edukalt muudetud!","change_email_error":"Esines viga e-posti muutmisel.","change_email":"Muuda e-posti","cRed":"Punane (Tühista)","cOrange":"Oranž (Lisa lemmikuks)","cGreen":"Roheline (Taaspostita)","cBlue":"Sinine (Vasta, jälgi)","btnRadius":"Nupud","blocks_tab":"Blokeeringud","blocks_imported":"Blokeeringud imporditud! Nende töötlemine võtab natuke aega.","block_import_error":"Blokeeringute importimisel esines viga","block_import":"Blokeeringute import","block_export_button":"Ekspordi oma blokeeringud csv failiks","block_export":"Blokeeringute eksport","background":"Taust","avatarRadius":"Profiilipildid","avatarAltRadius":"Profiilipildid (Teated)","attachmentRadius":"Manused","allow_following_move":"Luba automaatjälgimine kui jälgitav konto kolib","mfa":{"verify":{"desc":"Et lubada kaheastmelist autentimist, sisestage kood oma äpist:"},"scan":{"desc":"Kasutades oma kaheastmelise autentimise äppi, skännige see QR kood või sisestage tekstiline võti:","secret_code":"Võti","title":"Skänni"},"authentication_methods":"Autentimismeetodid","recovery_codes_warning":"Kirjutage need koodid üles ning hoidke need kindlas kohas. Kui Te kaotate ligipääsu oma kaheastmelise autentimise äppile ning nendele koodidele, ei ole Teil võimalik oma kontosse sisse logida.","waiting_a_recovery_codes":"Laen taastekoode…","recovery_codes":"Taastekoodid.","warning_of_generate_new_codes":"Kui Te loote uued taastekoodid, Teie vanad koodid ei tööta enam.","generate_new_recovery_codes":"Loo uued taastekoodid","title":"Kaheastmeline autentimine","confirm_and_enable":"Kinnita & luba OTP","wait_pre_setup_otp":"sean üles OTP","setup_otp":"Sea üles OTP","otp":"OTP"},"enter_current_password_to_confirm":"Sisetage isiku tõestamiseks oma salasõna","security":"Turvalisus","app_name":"Rakenduse nimi","style":{"switcher":{"help":{"snapshot_present":"Kujunduse eelvaade on laetud, nii et kõik väärtused on üle kirjutatud. Te saate laadida ka kujunduse päris sisu.","older_version_imported":"Teie imporditud fail oli loodud vanemas versioonis.","future_version_imported":"Teie imporditud fail oli loodud uuemas versioonis.","v2_imported":"Teie imporditud fail oli vanema versiooni jaoks. Me üritame hoida ühilduvust, kuid ikkagi võib esineda erinevusi.","upgraded_from_v2":"PleromaFE-d uuendati, teie kujundus võib välja näha natuke erinev, kui mäletate."},"use_source":"Uus versioon","use_snapshot":"Vana versioon","keep_as_is":"Jäta nii, nagu on","load_theme":"Lae kujundus","clear_opacity":"Tühista läbipaistvus","clear_all":"Tühista kõik","reset":"Taasta algne","keep_fonts":"Jäta fondid","keep_roundness":"Jäta ümarus","keep_opacity":"Jäta läbipaistvus","keep_shadows":"Jäta varjud","keep_color":"Jäta värvid"}},"enable_web_push_notifications":"Luba veebipõhised push-teated","notification_blocks":"Kasutaja blokeerimisel ei tule neilt enam teateid ning nendele teilt ka mitte.","notification_setting_privacy_option":"Peida saatja ning sisu push-teadetelt","notifications":"Teated","notification_mutes":"Kui soovid mõnelt kasutajalt mitte teateid saada, kasuta vaigistust.","notification_setting_privacy":"Privaatsus","notification_setting_filters":"Filtrid","greentext":"Meemi nooled","fun":"Naljad","values":{"true":"jah","false":"ei"},"upload_a_photo":"Lae üles foto","type_domains_to_mute":"Trüki siia domeene, mida vaigistada","tooltipRadius":"Vihjed/hoiatused","theme_help_v2_1":"Te saate ka mõndade komponentide värvust ning läbipaistvust üle kirjutada vajutades ruudule. Kasuta \\"Tühista kõik\\" nuppu, et need tühistada.","theme_help":"Kasuta hex värvikoode (#rrggbb) oma kujunduse isikupärastamiseks.","text":"Tekst","useStreamingApiWarning":"(Pole soovituslik, eksperimentaalne, on teada, et jätab postitusi vahele)","useStreamingApi":"Saa postitusi ning teateid reaalajas","user_mutes":"Kasutajad","streaming":"Luba uute postituste automaatvoog kui oled lehekülje alguses","stop_gifs":"Mängi GIFid hiirega ületades","post_status_content_type":"Postituse sisutüüp"},"timeline":{"conversation":"Vestlus","error_fetching":"Viga uuenduste laadimisel","load_older":"Kuva vanemaid staatuseid","show_new":"Näita uusi","up_to_date":"Uuendatud"},"user_card":{"block":"Blokeeri","blocked":"Blokeeritud!","follow":"Jälgi","followees":"Jälgitavaid","followers":"Jälgijaid","following":"Jälgin!","follows_you":"Jälgib sind!","mute":"Vaigista","muted":"Vaigistatud","per_day":"päevas","statuses":"Staatuseid"},"about":{"mrf":{"mrf_policies_desc":"MRF poliitikad mõjutavad selle instansi föderatsiooni käitumist. Järgmised poliitikad on lubatud:","simple":{"media_nsfw_desc":"See instants määrab nendest instantsidest postituste meedia sensitiivseks:","media_nsfw":"Meedia määratakse sensitiivseks","media_removal_desc":"See instants eemaldab meedia postitustelt nendest instantsidest:","media_removal":"Meedia eemaldamine","ftl_removal_desc":"See instants eemaldab postitused nendelt instantsidest \\"Kogu teatud võrgu\\" ajajoonelt:","ftl_removal":"\\"Kogu teatud võrgu\\" ajajoonelt eemaldamine","quarantine_desc":"See instants saadab ainult avalikke postitusi järgmistele instantsidele:","quarantine":"Karantiini","reject_desc":"See instants ei luba sõnumeid nendest instantsidest:","reject":"Keela","accept_desc":"See instants lubab sõnumeid ainult nendest instantsidest:","accept":"Luba","simple_policies":"Instansi-omased poliitikad"},"mrf_policies":"Lubatud MRF poliitikad","keyword":{"is_replaced_by":"→","replace":"Vaheta","reject":"Lükka tagasi","ftl_removal":"\\"Kogu teatud võrgu\\" ajajoonelt eemaldamine","keyword_policies":"Võtmesõna poliitikad"},"federation":"Föderatsioon"},"staff":"Personal"},"selectable_list":{"select_all":"Vali kõik"},"remote_user_resolver":{"error":"Ei leitud.","searching_for":"Otsin","remote_user_resolver":"Kaugkasutaja leidja"},"interactions":{"load_older":"Laadi vanemad interaktsioonid","moves":"Kasutaja kolimised","follows":"Uued jälgimised","favs_repeats":"Taaspostitused ja lemmikud"},"emoji":{"load_all":"Laen kõik {emojiAmount} emotikoni","load_all_hint":"Laadisin esimesed {saneAmount} emotikoni, kõike laadides võib esineda probleeme jõudlusega.","unicode":"Unicode emotikonid","custom":"Kohandatud emotikonid","add_emoji":"Lisa emotikon","search_emoji":"Otsi emotikone","keep_open":"Hoia valija lahti","emoji":"Emotikonid","stickers":"Kleepsud"},"polls":{"not_enough_options":"Liiga vähe unikaalseid valikuid hääletuses","expired":"Hääletus lõppes {0} tagasi","expires_in":"Hääletus lõppeb {0}","expiry":"Hääletuse vanus","multiple_choices":"Mitu vastust","single_choice":"Üks vastus","type":"Hääletuse tüüp","vote":"Hääleta","votes":"häält","option":"Valik","add_option":"Lisa valik","add_poll":"Lisa küsitlus"},"media_modal":{"next":"Järgmine","previous":"Eelmine"},"importer":{"error":"Faili importimisel tekkis viga.","success":"Import õnnestus.","submit":"Esita"},"image_cropper":{"cancel":"Tühista","save_without_cropping":"Salvesta muudatusteta","save":"Salvesta","crop_picture":"Modifitseeri pilti"},"features_panel":{"who_to_follow":"Keda jälgida","title":"Featuurid","text_limit":"Tekstilimiit","scope_options":"Ulatuse valikud","media_proxy":"Meedia proksi","gopher":"Gopher","chat":"Vestlus"},"exporter":{"processing":"Töötlemine, Teilt küsitakse varsti faili allalaadimist","export":"Ekspordi"},"domain_mute_card":{"unmute_progress":"Eemaldan vaigistuse…","unmute":"Ära vaigista","mute_progress":"Vaigistan…","mute":"Vaigista"},"chat":{"title":"Vestlus"}}')}}]); -//# sourceMappingURL=11.7b11fd75fe61d6e10ac6.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[11],{604:function(e){e.exports=JSON.parse('{"finder":{"error_fetching_user":"Viga kasutaja leidmisel","find_user":"Otsi kasutajaid"},"general":{"submit":"Postita","verify":"Kinnita","confirm":"Kinnita","enable":"Luba","disable":"Keela","cancel":"Tühista","dismiss":"Olgu","show_less":"Kuva vähem","show_more":"Kuva rohkem","optional":"valikuline","generic_error":"Esines viga","more":"Rohkem","apply":"Rakenda"},"login":{"login":"Logi sisse","logout":"Logi välja","password":"Parool","placeholder":"nt lain","register":"Registreeru","username":"Kasutajanimi","heading":{"recovery":"Kaheastmelise autentimise taaste","totp":"Kaheastmeline autentimine"},"recovery_code":"Taastekood","enter_two_factor_code":"Sisesta kaheastmelise autentimise kood","enter_recovery_code":"Sisesta taastekood","authentication_code":"Autentimiskood","hint":"Logi sisse, et liituda vestlusega","description":"Logi sisse OAuthiga"},"nav":{"mentions":"Mainimised","public_tl":"Avalik Ajajoon","timeline":"Ajajoon","twkn":"Kogu Teadaolev Võrgustik","preferences":"Eelistused","who_to_follow":"Keda jälgida","search":"Otsing","user_search":"Kasutajaotsing","dms":"Privaatsõnumid","interactions":"Interaktsioonid","friend_requests":"Jägimistaotlused","chat":"Kohalik vestlus","back":"Tagasi","administration":"Administreerimine","about":"Meist"},"notifications":{"followed_you":"alustas sinu jälgimist","notifications":"Teated","read":"Loe!","reacted_with":"reageeris {0}","migrated_to":"kolis","no_more_notifications":"Rohkem teateid ei ole","repeated_you":"taaspostitas su staatuse","load_older":"Laadi vanemad teated","follow_request":"soovib Teid jälgida","favorited_you":"lisas su staatuse lemmikuks","broken_favorite":"Tundmatu staatus, otsin…"},"post_status":{"default":"Just sõitsin elektrirongiga Tallinnast Pääskülla.","posting":"Postitan","scope":{"unlisted":"Peidetud - Ära postita avalikele ajajoontele","public":"Avalil - Postita avalikele ajajoontele","private":"Jälgijatele - Postita ainult jälgijatele","direct":"Privaatne - Postita ainult mainitud kasutajatele"},"scope_notice":{"unlisted":"See postitus ei ole nähtav avalikul ega kogu võrgu ajajoonel","private":"See postitus on nähtav ainult Teie jälgijatele","public":"See postitus on nähtav kõigile"},"direct_warning_to_first_only":"See postitus on nähtav ainult kirja alguses mainitud kasutajatele.","direct_warning_to_all":"See postitus on nähtav kõikidele mainitud kasutajatele.","content_warning":"Pealkiri (valikuline)","content_type":{"text/bbcode":"BBCode","text/markdown":"Markdown","text/html":"HTML","text/plain":"Lihttekst"},"attachments_sensitive":"Märgi manused sensitiivseks","account_not_locked_warning_link":"lukus","account_not_locked_warning":"Teie konto ei ole {0}. Kõik võivad Teid jälgida, et näha Teie ainult-jälgijatele postitusi.","new_status":"Postita uus staatus"},"registration":{"bio":"Bio","email":"E-post","fullname":"Kuvatav nimi","password_confirm":"Parooli kinnitamine","registration":"Registreerimine","validations":{"password_confirmation_match":"peaks olema sama kui salasõna","password_confirmation_required":"ei saa jätta tühjaks","password_required":"ei saa jätta tühjaks","email_required":"ei saa jätta tühjaks","fullname_required":"ei saa jätta tühjaks","username_required":"ei saa jätta tühjaks"},"fullname_placeholder":"Näiteks Lain Iwakura","username_placeholder":"Näiteks lain","new_captcha":"Vajuta pildile, et saada uus captcha","captcha":"CAPTCHA","token":"Kutse võti"},"settings":{"attachments":"Manused","avatar":"Profiilipilt","bio":"Bio","current_avatar":"Sinu praegune profiilipilt","current_profile_banner":"Praegune profiilibänner","filtering":"Sisu filtreerimine","filtering_explanation":"Kõiki staatuseid, mis sisaldavad neid sõnu, ei kuvata. Üks sõna reale","hide_attachments_in_convo":"Peida manused vastlustes","hide_attachments_in_tl":"Peida manused ajajoonel","name":"Nimi","name_bio":"Nimi ja Bio","nsfw_clickthrough":"Peida tööks-mittesobivad(NSFW) manuste hiireklõpsu taha","profile_background":"Profiilitaust","profile_banner":"Profiilibänner","set_new_avatar":"Vali uus profiilipilt","set_new_profile_background":"Vali uus profiilitaust","set_new_profile_banner":"Vali uus profiilibänner","settings":"Sätted","theme":"Teema","user_settings":"Kasutaja sätted","subject_line_noop":"Ära kopeeri","subject_line_mastodon":"Nagu mastodon: kopeeri nagu on","subject_line_email":"Nagu e-post: \\"vs: pealkiri\\"","subject_line_behavior":"Kopeeri pealkiri vastamisel","subject_input_always_show":"Alati kuva pealkirja välja","minimal_scopes_mode":"Peida postituse nähtavussätted","scope_copy":"Kopeeri nähtavussätted vastamisel (Privaatsed on alati kopeeritud)","security_tab":"Turvalisus","search_user_to_mute":"Otsi, keda soovid vaigistada","search_user_to_block":"Otsi, keda soovid blokeerida","saving_ok":"Sätted salvestatud","saving_err":"Sätete salvestamine ebaõnnestus","autohide_floating_post_button":"Automaatselt peida uue postituse nupp (mobiilil)","reply_visibility_self":"Näita ainult vastuseid, mis on suunatud mulle","reply_visibility_following":"Näita ainult vastuseid, mis on suunatud mulle või kasutajatele, keda jälgin","reply_visibility_all":"Näita kõiki vastuseid","replies_in_timeline":"Vastused ajajoonel","radii_help":"Liidese ümardamine (pikslites)","profile_tab":"Profiil","presets":"Salvestatud sätted","pause_on_unfocused":"Peata reaalajas voog kui leht pole fookuses","panelRadius":"Paneelid","revoke_token":"Keela","valid_until":"Kehtiv kuni","refresh_token":"Värskendustoken","token":"Token","oauth_tokens":"OAuth tokenid","show_moderator_badge":"Näita Moderaator silti mu profiilil","show_admin_badge":"Näita Admin silti mu profiilil","hide_followers_count_description":"Ära näita minu jälgijate arvu","hide_follows_count_description":"Ära näita minu jälgimiste arvu","hide_followers_description":"Ära näita minu jälgijaid","hide_follows_description":"Ära näita minu jälgimisi","no_mutes":"Vaigistusi pole","no_blocks":"Blokeeringuid pole","no_rich_text_description":"Muuda kõik postitused lihttekstiks","notification_visibility_emoji_reactions":"Reaktsioonid","notification_visibility_moves":"Kasutaja kolimised","notification_visibility_repeats":"Taaspostitused","notification_visibility_mentions":"Mainimised","notification_visibility_likes":"Lemmikud","notification_visibility_follows":"Jälgimised","notification_visibility":"Milliseid teateid kuvatakse","new_password":"Uus salasõna","new_email":"Uus e-post","use_contain_fit":"Näita eelvaadetes täis suuruses pilte","play_videos_in_modal":"Näita videoid eraldi raamis","mutes_tab":"Vaigistused","loop_video_silent_only":"Loop videod, millel pole heli (nt. Mastodoni \\"gifid\\")","loop_video":"Loop videod","lock_account_description":"Piira oma konto ainult lubatud jälgijatele","links":"Lingid","limited_availability":"Pole Teie veebilehitsejas saadaval","invalid_theme_imported":"Valitud fail ei ole Pleroma kujundus. Kujundusele muudatusi ei tehtud.","interfaceLanguage":"Liidese keel","interface":"Liides","instance_default_simple":"(vaikimisi)","instance_default":"(vaikimisi: {value})","checkboxRadius":"Märkeruudud","inputRadius":"Sisestuskastid","import_theme":"Lae sätted","import_followers_from_a_csv_file":"Impordi jälgimised csv failist","import_blocks_from_a_csv_file":"Impordi blokeeringud csv failist","hide_filtered_statuses":"Peida filtreeritud staatused","hide_user_stats":"Peida kasutaja statistika (nt. jälgijate arv)","hide_post_stats":"Peida postituse statistika (nt. lemmikute arv)","use_one_click_nsfw":"Ava NSFW manused ühe klikiga","preload_images":"Piltide eellaadimine","hide_isp":"Peida instantsipõhine paneel","max_thumbnails":"Maksimaalne lubatud eelvaadete arv postituste kohta","hide_muted_posts":"Peida vaigistatud kasutajate postitused","general":"Üldine","foreground":"Esiplaan","accent":"Rõhk","follows_imported":"Jälgimised imporditud! Nende töötlemine võtab natuke aega.","follow_import_error":"Jälgimiste importimisel tekkis viga","follow_import":"Impordi jälgimised","follow_export_button":"Ekspordi oma jälgimised csv failiks","follow_export":"Ekspordi jälgimised","export_theme":"Salvesta sätted","emoji_reactions_on_timeline":"Näita reaktsioone ajajoonel","pad_emoji":"Lisa emotikonidele tühikud ette ja järgi neid menüüst valides","avatar_size_instruction":"Profiilipildi soovitatud minimaalne suurus on 150x150 pikslit.","domain_mutes":"Domeenid","discoverable":"Luba selle konto ilmumine otsingutulemustes ning muudes teenustes","delete_account_instructions":"Konto kustutamise kinnitamiseks sisestage oma salasõna.","delete_account_error":"Teie konto kustutamisel tekkis viga. Kui see jätkub, palun võtke kontakti administraatoriga.","delete_account_description":"Jäädavalt kustuta oma andmed ja konto.","delete_account":"Kustuta konto","default_vis":"Vaikimisi nähtavus","data_import_export_tab":"Andmete import / eksport","current_password":"Praegune salasõna","confirm_new_password":"Kinnita uus salasõna","composing":"Koostamine","collapse_subject":"Peida postituste pealkirjad","changed_password":"Salasõna edukalt muudetud!","change_password_error":"Esines viga salasõna muutmisel.","change_password":"Muuda salasõna","changed_email":"E-post edukalt muudetud!","change_email_error":"Esines viga e-posti muutmisel.","change_email":"Muuda e-posti","cRed":"Punane (Tühista)","cOrange":"Oranž (Lisa lemmikuks)","cGreen":"Roheline (Taaspostita)","cBlue":"Sinine (Vasta, jälgi)","btnRadius":"Nupud","blocks_tab":"Blokeeringud","blocks_imported":"Blokeeringud imporditud! Nende töötlemine võtab natuke aega.","block_import_error":"Blokeeringute importimisel esines viga","block_import":"Blokeeringute import","block_export_button":"Ekspordi oma blokeeringud csv failiks","block_export":"Blokeeringute eksport","background":"Taust","avatarRadius":"Profiilipildid","avatarAltRadius":"Profiilipildid (Teated)","attachmentRadius":"Manused","allow_following_move":"Luba automaatjälgimine kui jälgitav konto kolib","mfa":{"verify":{"desc":"Et lubada kaheastmelist autentimist, sisestage kood oma äpist:"},"scan":{"desc":"Kasutades oma kaheastmelise autentimise äppi, skännige see QR kood või sisestage tekstiline võti:","secret_code":"Võti","title":"Skänni"},"authentication_methods":"Autentimismeetodid","recovery_codes_warning":"Kirjutage need koodid üles ning hoidke need kindlas kohas. Kui Te kaotate ligipääsu oma kaheastmelise autentimise äppile ning nendele koodidele, ei ole Teil võimalik oma kontosse sisse logida.","waiting_a_recovery_codes":"Laen taastekoode…","recovery_codes":"Taastekoodid.","warning_of_generate_new_codes":"Kui Te loote uued taastekoodid, Teie vanad koodid ei tööta enam.","generate_new_recovery_codes":"Loo uued taastekoodid","title":"Kaheastmeline autentimine","confirm_and_enable":"Kinnita & luba OTP","wait_pre_setup_otp":"sean üles OTP","setup_otp":"Sea üles OTP","otp":"OTP"},"enter_current_password_to_confirm":"Sisetage isiku tõestamiseks oma salasõna","security":"Turvalisus","app_name":"Rakenduse nimi","style":{"switcher":{"help":{"snapshot_present":"Kujunduse eelvaade on laetud, nii et kõik väärtused on üle kirjutatud. Te saate laadida ka kujunduse päris sisu.","older_version_imported":"Teie imporditud fail oli loodud vanemas versioonis.","future_version_imported":"Teie imporditud fail oli loodud uuemas versioonis.","v2_imported":"Teie imporditud fail oli vanema versiooni jaoks. Me üritame hoida ühilduvust, kuid ikkagi võib esineda erinevusi.","upgraded_from_v2":"PleromaFE-d uuendati, teie kujundus võib välja näha natuke erinev, kui mäletate."},"use_source":"Uus versioon","use_snapshot":"Vana versioon","keep_as_is":"Jäta nii, nagu on","load_theme":"Lae kujundus","clear_opacity":"Tühista läbipaistvus","clear_all":"Tühista kõik","reset":"Taasta algne","keep_fonts":"Jäta fondid","keep_roundness":"Jäta ümarus","keep_opacity":"Jäta läbipaistvus","keep_shadows":"Jäta varjud","keep_color":"Jäta värvid"}},"enable_web_push_notifications":"Luba veebipõhised push-teated","notification_blocks":"Kasutaja blokeerimisel ei tule neilt enam teateid ning nendele teilt ka mitte.","notification_setting_privacy_option":"Peida saatja ning sisu push-teadetelt","notifications":"Teated","notification_mutes":"Kui soovid mõnelt kasutajalt mitte teateid saada, kasuta vaigistust.","notification_setting_privacy":"Privaatsus","notification_setting_filters":"Filtrid","greentext":"Meemi nooled","fun":"Naljad","values":{"true":"jah","false":"ei"},"upload_a_photo":"Lae üles foto","type_domains_to_mute":"Trüki siia domeene, mida vaigistada","tooltipRadius":"Vihjed/hoiatused","theme_help_v2_1":"Te saate ka mõndade komponentide värvust ning läbipaistvust üle kirjutada vajutades ruudule. Kasuta \\"Tühista kõik\\" nuppu, et need tühistada.","theme_help":"Kasuta hex värvikoode (#rrggbb) oma kujunduse isikupärastamiseks.","text":"Tekst","useStreamingApiWarning":"(Pole soovituslik, eksperimentaalne, on teada, et jätab postitusi vahele)","useStreamingApi":"Saa postitusi ning teateid reaalajas","user_mutes":"Kasutajad","streaming":"Luba uute postituste automaatvoog kui oled lehekülje alguses","stop_gifs":"Mängi GIFid hiirega ületades","post_status_content_type":"Postituse sisutüüp"},"timeline":{"conversation":"Vestlus","error_fetching":"Viga uuenduste laadimisel","load_older":"Kuva vanemaid staatuseid","show_new":"Näita uusi","up_to_date":"Uuendatud"},"user_card":{"block":"Blokeeri","blocked":"Blokeeritud!","follow":"Jälgi","followees":"Jälgitavaid","followers":"Jälgijaid","following":"Jälgin!","follows_you":"Jälgib sind!","mute":"Vaigista","muted":"Vaigistatud","per_day":"päevas","statuses":"Staatuseid"},"about":{"mrf":{"mrf_policies_desc":"MRF poliitikad mõjutavad selle instansi föderatsiooni käitumist. Järgmised poliitikad on lubatud:","simple":{"media_nsfw_desc":"See instants määrab nendest instantsidest postituste meedia sensitiivseks:","media_nsfw":"Meedia määratakse sensitiivseks","media_removal_desc":"See instants eemaldab meedia postitustelt nendest instantsidest:","media_removal":"Meedia eemaldamine","ftl_removal_desc":"See instants eemaldab postitused nendelt instantsidest \\"Kogu teatud võrgu\\" ajajoonelt:","ftl_removal":"\\"Kogu teatud võrgu\\" ajajoonelt eemaldamine","quarantine_desc":"See instants saadab ainult avalikke postitusi järgmistele instantsidele:","quarantine":"Karantiini","reject_desc":"See instants ei luba sõnumeid nendest instantsidest:","reject":"Keela","accept_desc":"See instants lubab sõnumeid ainult nendest instantsidest:","accept":"Luba","simple_policies":"Instansi-omased poliitikad"},"mrf_policies":"Lubatud MRF poliitikad","keyword":{"is_replaced_by":"→","replace":"Vaheta","reject":"Lükka tagasi","ftl_removal":"\\"Kogu teatud võrgu\\" ajajoonelt eemaldamine","keyword_policies":"Võtmesõna poliitikad"},"federation":"Föderatsioon"},"staff":"Personal"},"selectable_list":{"select_all":"Vali kõik"},"remote_user_resolver":{"error":"Ei leitud.","searching_for":"Otsin","remote_user_resolver":"Kaugkasutaja leidja"},"interactions":{"load_older":"Laadi vanemad interaktsioonid","moves":"Kasutaja kolimised","follows":"Uued jälgimised","favs_repeats":"Taaspostitused ja lemmikud"},"emoji":{"load_all":"Laen kõik {emojiAmount} emotikoni","load_all_hint":"Laadisin esimesed {saneAmount} emotikoni, kõike laadides võib esineda probleeme jõudlusega.","unicode":"Unicode emotikonid","custom":"Kohandatud emotikonid","add_emoji":"Lisa emotikon","search_emoji":"Otsi emotikone","keep_open":"Hoia valija lahti","emoji":"Emotikonid","stickers":"Kleepsud"},"polls":{"not_enough_options":"Liiga vähe unikaalseid valikuid hääletuses","expired":"Hääletus lõppes {0} tagasi","expires_in":"Hääletus lõppeb {0}","expiry":"Hääletuse vanus","multiple_choices":"Mitu vastust","single_choice":"Üks vastus","type":"Hääletuse tüüp","vote":"Hääleta","votes":"häält","option":"Valik","add_option":"Lisa valik","add_poll":"Lisa küsitlus"},"media_modal":{"next":"Järgmine","previous":"Eelmine"},"importer":{"error":"Faili importimisel tekkis viga.","success":"Import õnnestus.","submit":"Esita"},"image_cropper":{"cancel":"Tühista","save_without_cropping":"Salvesta muudatusteta","save":"Salvesta","crop_picture":"Modifitseeri pilti"},"features_panel":{"who_to_follow":"Keda jälgida","title":"Featuurid","text_limit":"Tekstilimiit","scope_options":"Ulatuse valikud","media_proxy":"Meedia proksi","gopher":"Gopher","chat":"Vestlus"},"exporter":{"processing":"Töötlemine, Teilt küsitakse varsti faili allalaadimist","export":"Ekspordi"},"domain_mute_card":{"unmute_progress":"Eemaldan vaigistuse…","unmute":"Ära vaigista","mute_progress":"Vaigistan…","mute":"Vaigista"},"chat":{"title":"Vestlus"}}')}}]); +//# sourceMappingURL=11.c173c6036fb3af5581b3.js.map \ No newline at end of file diff --git a/priv/static/static/js/12.a3dc3473565ec07a88c2.js.map b/priv/static/static/js/11.c173c6036fb3af5581b3.js.map similarity index 56% rename from priv/static/static/js/12.a3dc3473565ec07a88c2.js.map rename to priv/static/static/js/11.c173c6036fb3af5581b3.js.map index 7b8fe89ac..6fc07fd8a 100644 --- a/priv/static/static/js/12.a3dc3473565ec07a88c2.js.map +++ b/priv/static/static/js/11.c173c6036fb3af5581b3.js.map @@ -1 +1 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/12.a3dc3473565ec07a88c2.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/11.c173c6036fb3af5581b3.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/12.5ca41e245bb40263bc7f.js b/priv/static/static/js/12.5ca41e245bb40263bc7f.js new file mode 100644 index 000000000..a22fcc522 --- /dev/null +++ b/priv/static/static/js/12.5ca41e245bb40263bc7f.js @@ -0,0 +1,2 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{605:function(a){a.exports=JSON.parse('{"chat":{"title":"Txata"},"exporter":{"export":"Esportatu","processing":"Prozesatzen, zure fitxategia deskargatzeko eskatuko zaizu laster"},"features_panel":{"chat":"Txata","gopher":"Ghoper","media_proxy":"Media proxy","scope_options":"Ikusgaitasun aukerak","text_limit":"Testu limitea","title":"Ezaugarriak","who_to_follow":"Nori jarraitu","pleroma_chat_messages":"Pleroma Txata","upload_limit":"Kargatzeko muga"},"finder":{"error_fetching_user":"Errorea erabiltzailea eskuratzen","find_user":"Bilatu erabiltzailea"},"general":{"apply":"Aplikatu","submit":"Bidali","more":"Gehiago","generic_error":"Errore bat gertatu da","optional":"Hautazkoa","show_more":"Gehiago erakutsi","show_less":"Gutxiago erakutsi","cancel":"Ezeztatu","disable":"Ezgaitu","enable":"Gaitu","confirm":"Baieztatu","verify":"Egiaztatu","peek":"Begiratu","close":"Itxi","dismiss":"Baztertu","retry":"Saiatu berriro","error_retry":"Saiatu berriro mesedez","loading":"Kargatzen…","role":{"moderator":"Moderatzailea","admin":"Administratzailea"},"flash_content":"Klik egin Flash edukia erakusteko Ruffle erabilita (esperimentala, baliteke ez ibiltzea).","flash_security":"Kontuan izan arriskutsua izan daitekeela, Flash edukia kode arbitrarioa baita.","flash_fail":"Ezin izan da Flash edukia kargatu. Ikusi kontsola xehetasunetarako."},"image_cropper":{"crop_picture":"Moztu argazkia","save":"Gorde","save_without_cropping":"Gorde moztu gabe","cancel":"Ezeztatu"},"importer":{"submit":"Bidali","success":"Ondo inportatu da.","error":"Errore bat gertatu da fitxategi hau inportatzerakoan."},"login":{"login":"Saioa hasi","description":"OAuth-ekin saioa hasi","logout":"Saioa itxi","password":"Pasahitza","placeholder":"adibidez Lain","register":"Erregistratu","username":"Erabiltzaile-izena","hint":"Hasi saioa eztabaidan parte-hartzeko","authentication_code":"Autentifikazio kodea","enter_recovery_code":"Sartu berreskuratze kodea","enter_two_factor_code":"Sartu bi-faktore kodea","recovery_code":"Berreskuratze kodea","heading":{"totp":"Bi-faktore autentifikazioa","recovery":"Bi-faktore berreskuratzea"}},"media_modal":{"previous":"Aurrekoa","next":"Hurrengoa"},"nav":{"about":"Honi buruz","administration":"Administrazioa","back":"Atzera","chat":"Txat lokala","friend_requests":"Jarraitzeko eskaerak","mentions":"Aipamenak","interactions":"Interakzioak","dms":"Zuzeneko mezuak","public_tl":"Denbora-lerro publikoa","timeline":"Denbora-lerroa","twkn":"Ezagutzen den Sarea","user_search":"Erabiltzailea Bilatu","search":"Bilatu","who_to_follow":"Nori jarraitu","preferences":"Hobespenak","chats":"Txatak","timelines":"Denbora-lerroak","bookmarks":"Laster-markak","home_timeline":"Denbora-lerro pertsonala"},"notifications":{"broken_favorite":"Egoera ezezaguna, bilatzen…","favorited_you":"zure mezua gogoko du","followed_you":"Zu jarraitzen zaitu","load_older":"Kargatu jakinarazpen zaharragoak","notifications":"Jakinarazpenak","read":"Irakurrita!","repeated_you":"zure mezua errepikatu du","no_more_notifications":"Ez dago jakinarazpen gehiago","reacted_with":"{0}kin erreakzionatu zuen","migrated_to":"hona migratua:","follow_request":"jarraitu nahi zaitu","error":"Errorea jakinarazpenak eskuratzean: {0}"},"polls":{"add_poll":"Inkesta gehitu","add_option":"Gehitu aukera","option":"Aukera","votes":"Bozkak","vote":"Bozka","type":"Inkesta mota","single_choice":"Aukera bakarra","multiple_choices":"Aukera anizkoitza","expiry":"Inkestaren iraupena","expires_in":"Inkesta {0} bukatzen da","expired":"Inkesta {0} bukatu zen","not_enough_options":"Aukera gutxiegi inkestan","votes_count":"{count} boto| {count} boto","people_voted_count":"Pertsona batek bozkatu du | {count} pertsonak bozkatu dute"},"emoji":{"stickers":"Pegatinak","emoji":"Emoji","keep_open":"Mantendu hautatzailea zabalik","search_emoji":"Bilatu emoji bat","add_emoji":"Emoji bat gehitu","custom":"Ohiko emojiak","unicode":"Unicode emojiak","load_all":"{emojiAmount} emoji guztiak kargatzen","load_all_hint":"Lehenengo {saneAmount} emojia kargatuta, emoji guztiak kargatzeak errendimendu arazoak sor ditzake."},"stickers":{"add_sticker":"Pegatina gehitu"},"interactions":{"favs_repeats":"Errepikapen eta gogokoak","follows":"Jarraitzaile berriak","load_older":"Kargatu elkarrekintza zaharragoak","moves":"Erabiltzailea migratuta"},"post_status":{"new_status":"Mezu berri bat idatzi","account_not_locked_warning":"Zure kontua ez dago {0}. Edozeinek jarraitzen hastearekin, zure mezuak irakur ditzake.","account_not_locked_warning_link":"Blokeatuta","attachments_sensitive":"Nabarmendu eranskinak hunkigarri gisa","content_type":{"text/plain":"Testu arrunta","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},"content_warning":"Gaia (hautazkoa)","default":"Iadanik Los Angeles-en","direct_warning_to_all":"Mezu hau aipatutako erabiltzaile guztientzat ikusgai egongo da.","direct_warning_to_first_only":"Mezu hau ikusgai egongo da bakarrik hasieran aipatzen diren erabiltzaileei.","posting":"Argitaratzen","scope_notice":{"public":"Mezu hau guztiontzat ikusgai izango da","private":"Mezu hau zure jarraitzaileek soilik ikusiko dute","unlisted":"Mezu hau ez da argitaratuko Denbora-lerro Publikoan ezta Ezagutzen den Sarean"},"scope":{"direct":"Zuzena: bidali aipatutako erabiltzaileei besterik ez","private":"Jarraitzaileentzako bakarrik: bidali jarraitzaileentzat bakarrik","public":"Publikoa: bistaratu denbora-lerro publikoetan","unlisted":"Zerrendatu gabea: ez bidali denbora-lerro publikoetara"},"media_description_error":"Ezin izan da artxiboa eguneratu, saiatu berriro","preview":"Aurrebista","media_description":"Media deskribapena","preview_empty":"Hutsik","post":"Bidali","empty_status_error":"Ezin da argitaratu ezer idatzi gabe edo eranskinik gabe"},"registration":{"bio":"Biografia","email":"E-posta","fullname":"Erakutsi izena","password_confirm":"Pasahitza berretsi","registration":"Sortu kontua","token":"Gonbidapen txartela","captcha":"CAPTCHA","new_captcha":"Klikatu irudia captcha berri bat lortzeko","username_placeholder":"Adibidez lain","fullname_placeholder":"Adibidez Lain Iwakura","bio_placeholder":"Adidibez.\\nKaixo, Lain naiz.\\nFedibertsoa gustokoa dut eta euskeraz hitzegiten dut.","validations":{"username_required":"Ezin da hutsik utzi","fullname_required":"Ezin da hutsik utzi","email_required":"Ezin da hutsik utzi","password_required":"Ezin da hutsik utzi","password_confirmation_required":"Ezin da hutsik utzi","password_confirmation_match":"Pasahitzaren berdina izan behar du"},"reason":"Kontua sortzeko arrazoia","reason_placeholder":"Instantzia honek kontu berriak eskuz onartzen ditu.\\nJakinarazi administrazioari zergatik erregistratu nahi duzun.","register":"Erregistratu"},"selectable_list":{"select_all":"Hautatu denak"},"settings":{"app_name":"App izena","security":"Segurtasuna","enter_current_password_to_confirm":"Sar ezazu zure egungo pasahitza zure identitatea baieztatzeko","mfa":{"otp":"OTP","setup_otp":"OTP konfiguratu","wait_pre_setup_otp":"OTP aurredoitzen","confirm_and_enable":"Baieztatu eta gaitu OTP","title":"Bi-faktore autentifikazioa","generate_new_recovery_codes":"Sortu berreskuratze kode berriak","warning_of_generate_new_codes":"Berreskuratze kode berriak sortzean, zure berreskuratze kode zaharrak ez dute balioko.","recovery_codes":"Berreskuratze kodea.","waiting_a_recovery_codes":"Babes-kopia kodeak jasotzen…","recovery_codes_warning":"Idatzi edo gorde kodeak leku seguruan - bestela ez dituzu berriro ikusiko. Zure 2FA aplikaziorako sarbidea eta berreskuratze kodeak galduz gero, zure kontutik blokeatuta egongo zara.","authentication_methods":"Autentifikazio metodoa","scan":{"title":"Eskaneatu","desc":"Zure bi-faktore aplikazioa erabiliz, eskaneatu QR kode hau edo idatzi testu-gakoa:","secret_code":"Giltza"},"verify":{"desc":"Bi-faktore autentifikazioa gaitzeko, sar ezazu bi-faktore kodea zure app-tik:"}},"attachmentRadius":"Eranskinak","attachments":"Eranskinak","avatar":"Avatarra","avatarAltRadius":"Abatarra (aipamenak)","avatarRadius":"Avatarrak","background":"Atzeko planoa","bio":"Biografia","block_export":"Blokeatu dituzunak esportatu","block_export_button":"Esportatu blokeatutakoak csv fitxategi batera","block_import":"Blokeatu dituzunak inportatu","block_import_error":"Errorea blokeatutakoak inportatzen","blocks_imported":"Blokeatutakoak inportaturik! Hauek prozesatzeak denbora hartuko du.","blocks_tab":"Blokeatutakoak","btnRadius":"Botoiak","cBlue":"Urdina (erantzun, jarraitu)","cGreen":"Berdea (Bertxiotu)","cOrange":"Laranja (Gogokoa)","cRed":"Gorria (ezeztatu)","change_password":"Pasahitza aldatu","change_password_error":"Arazao bat egon da zure pasahitza aldatzean.","changed_password":"Pasahitza ondo aldatu da!","collapse_subject":"Bildu gaia daukaten mezuak","composing":"Idazten","confirm_new_password":"Baieztatu pasahitz berria","current_avatar":"Zure uneko avatarra","current_password":"Indarrean dagoen pasahitza","current_profile_banner":"Zure profilaren banner-a","data_import_export_tab":"Datuak inportatu / esportatu","default_vis":"Lehenetsitako ikusgaitasunak","delete_account":"Ezabatu kontua","discoverable":"Baimendu zure kontua kanpo bilaketa-emaitzetan eta bestelako zerbitzuetan agertzea","delete_account_description":"Betirako ezabatu zure datuak eta desaktibatu kontua.","pad_emoji":"Zuriuneak gehitu emoji bat aukeratzen denean","delete_account_error":"Arazo bat gertatu da zure kontua ezabatzerakoan. Arazoa jarraitu eskero, administratzailearekin harremanetan jarri.","delete_account_instructions":"Idatzi zure pasahitza kontua ezabatzeko.","avatar_size_instruction":"Avatar irudien gomendatutako gutxieneko tamaina 150x150 pixel dira.","export_theme":"Gorde aurre-ezarpena","filtering":"Iragazten","filtering_explanation":"Hitz hauek dituzten mezu guztiak isilduak izango dira. Lerro bakoitzeko bat","follow_export":"Jarraitzen dituzunak esportatu","follow_export_button":"Esportatu zure jarraitzaileak csv fitxategi batean","follow_import":"Jarraitzen dituzunak inportatu","follow_import_error":"Errorea jarraitzaileak inportatzerakoan","follows_imported":"Jarraitzaileak inportatuta! Prozesatzeak denbora pixka bat iraungo du.","foreground":"Aurreko planoa","general":"Orokorra","hide_attachments_in_convo":"Ezkutatu eranskinak elkarrizketatan","hide_attachments_in_tl":"Ezkutatu eranskinak donbora-lerroan","hide_muted_posts":"Ezkutatu mutututako erabiltzaileen mezuak","max_thumbnails":"Mezu bakoitzeko argazki-miniatura kopuru maximoa","hide_isp":"Instantziari buruzko panela ezkutatu","preload_images":"Argazkiak aurrekargatu","use_one_click_nsfw":"Ireki eduki hunkigarria duten eranskinak klik batekin","hide_post_stats":"Ezkutatu mezuaren estatistikak (adibidez faborito kopurua)","hide_user_stats":"Ezkutatu erabiltzaile estatistikak (adibidez jarraitzaile kopurua)","hide_filtered_statuses":"Ezkutatu iragazitako mezuak","import_blocks_from_a_csv_file":"Blokeatutakoak inportatu CSV fitxategi batetik","import_followers_from_a_csv_file":"Inportatu jarraitzaileak csv fitxategi batetik","import_theme":"Kargatu aurre-ezarpena","inputRadius":"Sarrera eremuak","checkboxRadius":"Kuadrotxoak","instance_default":"(lehenetsia: {value})","instance_default_simple":"(lehenetsia)","interface":"Interfazea","interfaceLanguage":"Interfazearen hizkuntza","invalid_theme_imported":"Hautatutako fitxategia ez da onartutako Pleroma gaia. Ez da zure gaian aldaketarik burutu.","limited_availability":"Ez dago erabilgarri zure nabigatzailean","links":"Estekak","lock_account_description":"Mugatu zure kontua soilik onartutako jarraitzaileei","loop_video":"Begizta bideoak","loop_video_silent_only":"Soinu gabeko bideoak begiztatu bakarrik (adibidez Mastodon-eko gif-ak)","mutes_tab":"Mututuak","play_videos_in_modal":"Erreproduzitu bideoak zuzenean multimedia erreproduzigailuan","use_contain_fit":"Eranskinak ez moztu miniaturetan","name":"Izena","name_bio":"Izena eta biografia","new_password":"Pasahitz berria","notification_visibility":"Erakusteko jakinarazpen motak","notification_visibility_follows":"Jarraitzaileak","notification_visibility_likes":"Gogokoak","notification_visibility_mentions":"Aipamenak","notification_visibility_repeats":"Errepikapenak","no_rich_text_description":"Kendu testu-formatu aberastuak mezu guztietatik","no_blocks":"Ez daude erabiltzaile blokeatutak","no_mutes":"Ez daude erabiltzaile mututuak","hide_follows_description":"Ez erakutsi nor jarraitzen ari naizen","hide_followers_description":"Ez erakutsi nor ari den ni jarraitzen","hide_follows_count_description":"Ez erakutsi jarraitzen ari naizen kontuen kopurua","hide_followers_count_description":"Ez erakutsi nire jarraitzaileen kontuen kopurua","show_admin_badge":"Erakutsi \\"Administratzaile\\" etiketa nire profilan","show_moderator_badge":"Erakutsi \\"Moderatzaile\\" etiketa nire profilan","nsfw_clickthrough":"Gaitu klika hunkigarri eranskinak ezkutatzeko","oauth_tokens":"OAuth tokenak","token":"Tokena","refresh_token":"Berrgin tokena","valid_until":"Baliozkoa arte","revoke_token":"Ezeztatu","panelRadius":"Panelak","pause_on_unfocused":"Eguneraketa automatikoa gelditu fitxatik kanpo","presets":"Aurrezarpenak","profile_background":"Profilaren atzeko planoa","profile_banner":"Profilaren banner-a","profile_tab":"Profila","radii_help":"Konfiguratu interfazearen ertzen biribiltzea (pixeletan)","replies_in_timeline":"Denbora-lerroko erantzunak","reply_visibility_all":"Erakutsi erantzun guztiak","reply_visibility_following":"Erakutsi bakarrik niri zuzendutako edo nik jarraitutako erabiltzaileen erantzunak","reply_visibility_self":"Erakutsi bakarrik niri zuzendutako erantzunak","autohide_floating_post_button":"Automatikoki ezkutatu Mezu Berriaren botoia (sakelako)","saving_err":"Errorea ezarpenak gordetzean","saving_ok":"Ezarpenak gordeta","search_user_to_block":"Bilatu zein blokeatu nahi duzun","search_user_to_mute":"Bilatu zein isilarazi nahi duzun","security_tab":"Segurtasuna","scope_copy":"Ikusgaitasun aukerak kopiatu mezua erantzuterakoan (Zuzeneko Mezuak beti kopiatzen dute)","minimal_scopes_mode":"Bildu ikusgaitasun aukerak","set_new_avatar":"Ezarri avatar berria","set_new_profile_background":"Ezarri atzeko plano berria","set_new_profile_banner":"Ezarri profil banner berria","settings":"Ezarpenak","subject_input_always_show":"Erakutsi beti gaiaren eremua","subject_line_behavior":"Gaia kopiatu erantzuterakoan","subject_line_email":"E-maila bezala: \\"re: gaia\\"","subject_line_mastodon":"Mastodon bezala: kopiatu den bezala","subject_line_noop":"Ez kopiatu","post_status_content_type":"Argitarapen formatua","stop_gifs":"GIF-a iniziatu arratoia gainean jarrita","streaming":"Gaitu mezu berrien karga goraino mugitzean","text":"Testua","theme":"Gaia","theme_help":"Erabili hex-kolore kodeak (#rrggbb) gaiaren koloreak pertsonalizatzeko.","theme_help_v2_1":"Zenbait osagaien koloreak eta opakutasuna ezeztatu ditzakezu kontrol-laukia aktibatuz, \\"Garbitu dena\\" botoia erabili aldaketak deusezteko.","theme_help_v2_2":"Sarreren batzuen azpian dauden ikonoak atzeko planoaren eta testuaren arteko kontrastearen adierazleak dira, kokatu arratoia gainean informazio zehatza eskuratzeko. Kontuan izan gardentasun kontrasteen adierazleek erabiltzen direnean, kasurik okerrena erakusten dutela.","tooltipRadius":"Argibideak/alertak","upload_a_photo":"Argazkia kargatu","user_settings":"Erabiltzaile Ezarpenak","values":{"false":"ez","true":"bai"},"notifications":"Jakinarazpenak","notification_mutes":"Erabiltzaile jakin baten jakinarazpenak jasotzeari uzteko, isilarazi ezazu.","notification_blocks":"Erabiltzaile bat blokeatzeak jakinarazpen guztiak gelditzen ditu eta harpidetza ezeztatu.","enable_web_push_notifications":"Gaitu web jakinarazpenak","style":{"switcher":{"keep_color":"Mantendu koloreak","keep_shadows":"Mantendu itzalak","keep_opacity":"Mantendu opakotasuna","keep_roundness":"Mantendu biribiltasuna","keep_fonts":"Mantendu iturriak","save_load_hint":"\\"Mantendu\\" aukerak uneko konfiguratutako aukerak gordetzen ditu gaiak hautatzerakoan edo kargatzean, gai hauek esportatze garaian ere gordetzen ditu. Kontrol-lauki guztiak garbitzen direnean, esportazio-gaiak dena gordeko du.","reset":"Berrezarri","clear_all":"Garbitu dena","clear_opacity":"Garbitu opakotasuna"},"common":{"color":"Kolorea","opacity":"Opakotasuna","contrast":{"hint":"Kontrastearen erlazioa {ratio} da, {level} {context}","level":{"aa":"AA Mailako gidaliburua betetzen du (gutxienezkoa)","aaa":"AAA Mailako gidaliburua betetzen du (gomendatua)","bad":"ez ditu irisgarritasun arauak betetzen"},"context":{"18pt":"testu handientzat (+18pt)","text":"testuentzat"}}},"common_colors":{"_tab_label":"Ohikoa","main":"Ohiko koloreak","foreground_hint":"Ikusi \\"Aurreratua\\" fitxa kontrol zehatzagoa lortzeko","rgbo":"Ikono, azentu eta etiketak"},"advanced_colors":{"_tab_label":"Aurreratua","alert":"Alerten atzeko planoa","alert_error":"Errorea","badge":"Etiketen atzeko planoa","badge_notification":"Jakinarazpenak","panel_header":"Panelaren goiburua","top_bar":"Goiko barra","borders":"Ertzak","buttons":"Botoiak","inputs":"Sarrera eremuak","faint_text":"Testu itzalita"},"radii":{"_tab_label":"Biribiltasuna"},"shadows":{"_tab_label":"Itzal eta argiak","component":"Atala","override":"Berridatzi","shadow_id":"Itzala #{value}","blur":"Lausotu","spread":"Hedapena","inset":"Barrutik","hint":"Itzaletarako ere erabil dezakezu --aldagarri kolore balio gisa CSS3 aldagaiak erabiltzeko. Kontuan izan opakutasuna ezartzeak ez duela kasu honetan funtzionatuko.","filter_hint":{"always_drop_shadow":"Kontuz, itzal honek beti erabiltzen du {0} nabigatzaileak onartzen duenean.","drop_shadow_syntax":"{0} ez du onartzen {1} parametroa eta {2} gako-hitza.","avatar_inset":"Kontuan izan behar da barruko eta kanpoko itzal konbinazioak, ez esparotako emaitzak ager daitezkeela atzeko plano gardena duten Avatarretan.","spread_zero":"Hedapena > 0 duten itzalak zero izango balitz bezala agertuko dira","inset_classic":"Barruko itzalak {0} erabiliko dute"},"components":{"panel":"Panela","panelHeader":"Panel goiburua","topBar":"Goiko barra","avatar":"Erabiltzailearen avatarra (profilan)","avatarStatus":"Erabiltzailearen avatarra (mezuetan)","popup":"Popup-ak eta argibideak","button":"Botoia","buttonHover":"Botoia (gainean)","buttonPressed":"Botoai (sakatuta)","buttonPressedHover":"Botoia (sakatuta+gainean)","input":"Sarrera eremuak"}},"fonts":{"_tab_label":"Letra-tipoak","help":"Aukeratu letra-tipoak erabiltzailearen interfazean erabiltzeko. \\"Pertsonalizatua\\" letra-tipoan, sisteman agertzen den izen berdinarekin idatzi behar duzu.","components":{"interface":"Interfazea","input":"Sarrera eremuak","post":"Mezuen testua","postCode":"Tarte-bakarreko testua mezuetan (testu-formatu aberastuak)"},"family":"Letra-tipoaren izena","size":"Tamaina (px)","weight":"Pisua (lodiera)","custom":"Pertsonalizatua"},"preview":{"header":"Aurrebista","content":"Edukia","error":"Adibide errorea","button":"Botoia","text":"Hamaika {0} eta {1}","mono":"edukia","input":"Jadanik Los Angeles-en.","faint_link":"laguntza","fine_print":"Irakurri gure {0} ezer erabilgarria ikasteko!","header_faint":"Ondo dago","checkbox":"Baldintzak berrikusi ditut","link":"esteka polita"}},"version":{"title":"Bertsioa","backend_version":"Backend bertsioa","frontend_version":"Frontend bertsioa"},"save":"Aldaketak gorde","setting_changed":"Ezarpena lehenetsitakoaren desberdina da","allow_following_move":"Baimendu jarraipen automatikoa, jarraitzen duzun kontua beste instantzia batera eramaten denean","new_email":"E-posta berria"},"time":{"day":"{0} egun","days":"{0} egun","day_short":"{0}e","days_short":"{0}e","hour":"{0} ordu","hours":"{0} ordu","hour_short":"{0}o","hours_short":"{0}o","in_future":"{0} barru","in_past":"duela {0}","minute":"{0} minutu","minutes":"{0} minutu","minute_short":"{0}min","minutes_short":"{0}min","month":"{0} hilabete","months":"{0} hilabete","month_short":"{0}h","months_short":"{0}h","now":"oraintxe bertan","now_short":"orain","second":"{0} segundu","seconds":"{0} segundu","second_short":"{0}s","seconds_short":"{0}s","week":"{0} aste","weeks":"{0} aste","week_short":"{0}a","weeks_short":"{0}a","year":"{0} urte","years":"{0} urte","year_short":"{0}u","years_short":"{0}u"},"timeline":{"collapse":"Bildu","conversation":"Elkarrizketa","error_fetching":"Errorea eguneraketak eskuratzen","load_older":"Kargatu mezu zaharragoak","no_retweet_hint":"Mezu hau jarraitzailentzako bakarrik markatuta dago eta ezin da errepikatu","repeated":"Errepikatuta","show_new":"Berriena erakutsi","up_to_date":"Eguneratuta","no_more_statuses":"Ez daude mezu gehiago","no_statuses":"Mezurik gabe"},"status":{"favorites":"Gogokoak","repeats":"Errepikapenak","delete":"Mezua ezabatu","pin":"Profilan ainguratu","unpin":"Aingura ezeztatu profilatik","pinned":"Ainguratuta","delete_confirm":"Mezu hau benetan ezabatu nahi duzu?","reply_to":"Erantzuten","replies_list":"Erantzunak:","mute_conversation":"Elkarrizketa isilarazi","unmute_conversation":"Elkarrizketa aktibatu"},"user_card":{"approve":"Onartu","block":"Blokeatu","blocked":"Blokeatuta!","deny":"Ukatu","favorites":"Gogokoak","follow":"Jarraitu","follow_sent":"Eskaera bidalita!","follow_progress":"Eskatzen…","follow_unfollow":"Jarraitzeari utzi","followees":"Jarraitzen","followers":"Jarraitzaileak","following":"Jarraitzen!","follows_you":"Jarraitzen dizu!","its_you":"Zu zara!","media":"Multimedia","mention":"Aipatu","mute":"Isilarazi","muted":"Isilduta","per_day":"eguneko","remote_follow":"Jarraitu","report":"Berri eman","statuses":"Mezuak","subscribe":"Harpidetu","unsubscribe":"Harpidetza ezeztatu","unblock":"Blokeoa kendu","unblock_progress":"Blokeoa ezeztatzen…","block_progress":"Blokeatzen…","unmute":"Isiltasuna kendu","unmute_progress":"Isiltasuna kentzen…","mute_progress":"Isiltzen…","hide_repeats":"Ezkutatu errepikapenak","show_repeats":"Erakutsi errpekiapenak","admin_menu":{"moderation":"Moderazioa","grant_admin":"Administratzaile baimena","revoke_admin":"Ezeztatu administratzaile baimena","grant_moderator":"Moderatzaile baimena","revoke_moderator":"Ezeztatu moderatzaile baimena","activate_account":"Aktibatu kontua","deactivate_account":"Desaktibatu kontua","delete_account":"Ezabatu kontua","force_nsfw":"Markatu mezu guztiak hunkigarri gisa","strip_media":"Kendu multimedia mezuetatik","force_unlisted":"Behartu mezuak listatu gabekoak izatea","sandbox":"Behartu zure jarraitzaileentzako bakarrik argitaratzera","disable_remote_subscription":"Ez utzi istantzia kanpoko erabiltzaileak zuri jarraitzea","disable_any_subscription":"Ez utzi beste erabiltzaileak zuri jarraitzea","quarantine":"Ez onartu mezuak beste instantzietatik","delete_user":"Erabiltzailea ezabatu","delete_user_confirmation":"Erabat ziur zaude? Ekintza hau ezin da desegin."}},"user_profile":{"timeline_title":"Erabiltzailearen denbora-lerroa","profile_does_not_exist":"Barkatu, profil hau ez da existitzen.","profile_loading_error":"Barkatu, errore bat gertatu da profila kargatzean."},"user_reporting":{"title":"{0}-ri buruz berri ematen","add_comment_description":"Zure kexa moderatzaileei bidaliko da. Nahi baduzu zure kexaren zergatia idatz dezakezu:","additional_comments":"Iruzkin gehiago","forward_description":"Kontu hau beste instantzia batekoa da. Nahi duzu txostenaren kopia bat bidali ere?","forward_to":"{0}-ri birbidali","submit":"Bidali","generic_error":"Errore bat gertatu da zure eskaera prozesatzerakoan."},"who_to_follow":{"more":"Gehiago","who_to_follow":"Nori jarraitu"},"tool_tip":{"media_upload":"Multimedia igo","repeat":"Errepikatu","reply":"Erantzun","favorite":"Gogokoa","user_settings":"Erabiltzaile ezarpenak"},"upload":{"error":{"base":"Igoerak huts egin du.","file_too_big":"Artxiboa haundiegia [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","default":"Saiatu berriro geroago"},"file_size_units":{"B":"B","KiB":"KiB","MiB":"MiB","GiB":"GiB","TiB":"TiB"}},"search":{"people":"Erabiltzaileak","hashtags":"Traolak","person_talking":"{count} pertsona hitzegiten","people_talking":"{count} jende hitzegiten","no_results":"Emaitzarik ez"},"password_reset":{"forgot_password":"Pasahitza ahaztua?","password_reset":"Pasahitza berrezarri","instruction":"Idatzi zure helbide elektronikoa edo erabiltzaile izena. Pasahitza berrezartzeko esteka bidaliko dizugu.","placeholder":"Zure e-posta edo erabiltzaile izena","check_email":"Begiratu zure posta elektronikoa pasahitza berrezarri ahal izateko.","return_home":"Itzuli hasierara","too_many_requests":"Saiakera gehiegi burutu ditzu, saiatu berriro geroxeago.","password_reset_disabled":"Pasahitza berrezartzea debekatuta dago. Mesedez, jarri harremanetan instantzia administratzailearekin.","password_reset_required":"Pasahitza berrezarri behar duzu saioa hasteko.","password_reset_required_but_mailer_is_disabled":"Pasahitza berrezarri behar duzu, baina pasahitza berrezartzeko aukera desgaituta dago. Mesedez, jarri harremanetan instantziaren administratzailearekin."},"about":{"mrf":{"keyword":{"keyword_policies":"Gako-hitz politika","ftl_removal":"\\"Ezagutzen den Sarea\\" denbora-lerrotik ezabatu","is_replaced_by":"→","replace":"Ordezkatuak","reject":"Ukatuak"},"federation":"Federazioa","simple":{"media_nsfw_desc":"Instantzia honek hurrengo instantzien multimediak sentikorrak izatera behartzen ditu:","media_nsfw":"Behartu multimedia sentikor moduan","media_removal_desc":"Instantzia honek atxikitutako multimedia hurrengo instantzietatik ezabatzen ditu:","media_removal":"Multimedia Ezabatu","ftl_removal_desc":"Instantzia honek hurrengo instantziak ezabatzen ditu \\"Ezagutzen den Sarea\\" denbora-lerrotik:","ftl_removal":"\\"Ezagutzen den Sarea\\" denbora-lerrotik ezabatu","quarantine_desc":"Instantzia honek soilik mezu publikoak bidaliko ditu instantzia hauetara:","quarantine":"Koarentena","reject_desc":"Instantzia honek ez ditu hurrengo instantzien mezuak onartuko:","reject":"Ukatuak","accept_desc":"Instantzia honek hurrengo instantzietako mezuak soilik onartzen ditu:","accept":"Onartu","simple_policies":"Gure instantziaren politika zehatzak"},"mrf_policies_desc":"MRF politikek instantzia honen federazioa manipulatzen dute gainerako instantziekin. Honako politika hauek daude gaituta:","mrf_policies":"Gaitutako MRF politikak"},"staff":"Arduradunak"},"domain_mute_card":{"unmute_progress":"Isiltasuna kentzen…","unmute":"Isiltasuna kendu","mute_progress":"Isiltzen…","mute":"Isilarazi"},"shoutbox":{"title":"Oihu-kutxa"},"errors":{"storage_unavailable":"Pleromak ezin izan du nabigatzailearen biltegira sartu. Hasiera-saioa edo tokiko ezarpenak ez dira gordeko eta ustekabeko arazoak sor ditzake. Saiatu cookie-ak gaitzen."},"remote_user_resolver":{"searching_for":"Bilatzen","error":"Ez da aurkitu."}}')}}]); +//# sourceMappingURL=12.5ca41e245bb40263bc7f.js.map \ No newline at end of file diff --git a/priv/static/static/js/13.cdc076533397e24391bc.js.map b/priv/static/static/js/12.5ca41e245bb40263bc7f.js.map similarity index 56% rename from priv/static/static/js/13.cdc076533397e24391bc.js.map rename to priv/static/static/js/12.5ca41e245bb40263bc7f.js.map index 19b1f31f8..762172484 100644 --- a/priv/static/static/js/13.cdc076533397e24391bc.js.map +++ b/priv/static/static/js/12.5ca41e245bb40263bc7f.js.map @@ -1 +1 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/13.cdc076533397e24391bc.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/12.5ca41e245bb40263bc7f.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/12.a3dc3473565ec07a88c2.js b/priv/static/static/js/12.a3dc3473565ec07a88c2.js deleted file mode 100644 index ad6414e72..000000000 --- a/priv/static/static/js/12.a3dc3473565ec07a88c2.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[12],{592:function(a){a.exports=JSON.parse('{"chat":{"title":"Txata"},"exporter":{"export":"Esportatu","processing":"Prozesatzen, zure fitxategia deskargatzeko eskatuko zaizu laster"},"features_panel":{"chat":"Txata","gopher":"Ghoper","media_proxy":"Media proxy","scope_options":"Ikusgaitasun aukerak","text_limit":"Testu limitea","title":"Ezaugarriak","who_to_follow":"Nori jarraitu","pleroma_chat_messages":"Pleroma Txata","upload_limit":"Kargatzeko muga"},"finder":{"error_fetching_user":"Errorea erabiltzailea eskuratzen","find_user":"Bilatu erabiltzailea"},"general":{"apply":"Aplikatu","submit":"Bidali","more":"Gehiago","generic_error":"Errore bat gertatu da","optional":"Hautazkoa","show_more":"Gehiago erakutsi","show_less":"Gutxiago erakutsi","cancel":"Ezeztatu","disable":"Ezgaitu","enable":"Gaitu","confirm":"Baieztatu","verify":"Egiaztatu","peek":"Begiratu","close":"Itxi","dismiss":"Baztertu","retry":"Saiatu berriro","error_retry":"Saiatu berriro mesedez","loading":"Kargatzen…","role":{"moderator":"Moderatzailea","admin":"Administratzailea"}},"image_cropper":{"crop_picture":"Moztu argazkia","save":"Gorde","save_without_cropping":"Gorde moztu gabe","cancel":"Ezeztatu"},"importer":{"submit":"Bidali","success":"Ondo inportatu da.","error":"Errore bat gertatu da fitxategi hau inportatzerakoan."},"login":{"login":"Saioa hasi","description":"OAuth-ekin saioa hasi","logout":"Saioa itxi","password":"Pasahitza","placeholder":"adibidez Lain","register":"Erregistratu","username":"Erabiltzaile-izena","hint":"Hasi saioa eztabaidan parte-hartzeko","authentication_code":"Autentifikazio kodea","enter_recovery_code":"Sartu berreskuratze kodea","enter_two_factor_code":"Sartu bi-faktore kodea","recovery_code":"Berreskuratze kodea","heading":{"totp":"Bi-faktore autentifikazioa","recovery":"Bi-faktore berreskuratzea"}},"media_modal":{"previous":"Aurrekoa","next":"Hurrengoa"},"nav":{"about":"Honi buruz","administration":"Administrazioa","back":"Atzera","chat":"Txat lokala","friend_requests":"Jarraitzeko eskaerak","mentions":"Aipamenak","interactions":"Interakzioak","dms":"Zuzeneko mezuak","public_tl":"Denbora-lerro publikoa","timeline":"Denbora-lerroa","twkn":"Ezagutzen den Sarea","user_search":"Erabiltzailea Bilatu","search":"Bilatu","who_to_follow":"Nori jarraitu","preferences":"Hobespenak","chats":"Txatak","timelines":"Denbora-lerroak","bookmarks":"Laster-markak"},"notifications":{"broken_favorite":"Egoera ezezaguna, bilatzen…","favorited_you":"zure mezua gogoko du","followed_you":"Zu jarraitzen zaitu","load_older":"Kargatu jakinarazpen zaharragoak","notifications":"Jakinarazpenak","read":"Irakurrita!","repeated_you":"zure mezua errepikatu du","no_more_notifications":"Ez dago jakinarazpen gehiago","reacted_with":"{0}kin erreakzionatu zuen","migrated_to":"hona migratua:","follow_request":"jarraitu nahi zaitu","error":"Errorea jakinarazpenak eskuratzean: {0}"},"polls":{"add_poll":"Inkesta gehitu","add_option":"Gehitu aukera","option":"Aukera","votes":"Bozkak","vote":"Bozka","type":"Inkesta mota","single_choice":"Aukera bakarra","multiple_choices":"Aukera anizkoitza","expiry":"Inkestaren iraupena","expires_in":"Inkesta {0} bukatzen da","expired":"Inkesta {0} bukatu zen","not_enough_options":"Aukera gutxiegi inkestan","votes_count":"{count} boto| {count} boto","people_voted_count":"Pertsona batek bozkatu du | {count} pertsonak bozkatu dute"},"emoji":{"stickers":"Pegatinak","emoji":"Emoji","keep_open":"Mantendu hautatzailea zabalik","search_emoji":"Bilatu emoji bat","add_emoji":"Emoji bat gehitu","custom":"Ohiko emojiak","unicode":"Unicode emojiak","load_all":"{emojiAmount} emoji guztiak kargatzen"},"stickers":{"add_sticker":"Pegatina gehitu"},"interactions":{"favs_repeats":"Errepikapen eta gogokoak","follows":"Jarraitzaile berriak","load_older":"Kargatu elkarrekintza zaharragoak"},"post_status":{"new_status":"Mezu berri bat idatzi","account_not_locked_warning":"Zure kontua ez dago {0}. Edozeinek jarraitzen hastearekin, zure mezuak irakur ditzake.","account_not_locked_warning_link":"Blokeatuta","attachments_sensitive":"Nabarmendu eranskinak hunkigarri gisa","content_type":{"text/plain":"Testu arrunta","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},"content_warning":"Gaia (hautazkoa)","default":"Iadanik Los Angeles-en","direct_warning_to_all":"Mezu hau aipatutako erabiltzaile guztientzat ikusgai egongo da.","direct_warning_to_first_only":"Mezu hau ikusgai egongo da bakarrik hasieran aipatzen diren erabiltzaileei.","posting":"Argitaratzen","scope_notice":{"public":"Mezu hau guztiontzat ikusgai izango da","private":"Mezu hau zure jarraitzaileek soilik ikusiko dute","unlisted":"Mezu hau ez da argitaratuko Denbora-lerro Publikoan ezta Ezagutzen den Sarean"},"scope":{"direct":"Zuzena: bidali aipatutako erabiltzaileei besterik ez","private":"Jarraitzaileentzako bakarrik: bidali jarraitzaileentzat bakarrik","public":"Publikoa: bistaratu denbora-lerro publikoetan","unlisted":"Zerrendatu gabea: ez bidali denbora-lerro publikoetara"}},"registration":{"bio":"Biografia","email":"E-posta","fullname":"Erakutsi izena","password_confirm":"Pasahitza berretsi","registration":"Izena ematea","token":"Gonbidapen txartela","captcha":"CAPTCHA","new_captcha":"Klikatu irudia captcha berri bat lortzeko","username_placeholder":"Adibidez lain","fullname_placeholder":"Adibidez Lain Iwakura","bio_placeholder":"Adidibez.\\nKaixo, Lain naiz.\\nFedibertsoa gustokoa dut eta euskeraz hitzegiten dut.","validations":{"username_required":"Ezin da hutsik utzi","fullname_required":"Ezin da hutsik utzi","email_required":"Ezin da hutsik utzi","password_required":"Ezin da hutsik utzi","password_confirmation_required":"Ezin da hutsik utzi","password_confirmation_match":"Pasahitzaren berdina izan behar du"}},"selectable_list":{"select_all":"Hautatu denak"},"settings":{"app_name":"App izena","security":"Segurtasuna","enter_current_password_to_confirm":"Sar ezazu zure egungo pasahitza zure identitatea baieztatzeko","mfa":{"otp":"OTP","setup_otp":"OTP konfiguratu","wait_pre_setup_otp":"OTP aurredoitzen","confirm_and_enable":"Baieztatu eta gaitu OTP","title":"Bi-faktore autentifikazioa","generate_new_recovery_codes":"Sortu berreskuratze kode berriak","warning_of_generate_new_codes":"Berreskuratze kode berriak sortzean, zure berreskuratze kode zaharrak ez dute balioko.","recovery_codes":"Berreskuratze kodea","waiting_a_recovery_codes":"Babes-kopia kodeak jasotzen…","recovery_codes_warning":"Idatzi edo gorde kodeak leku seguruan - bestela ez dituzu berriro ikusiko. Zure 2FA aplikaziorako sarbidea eta berreskuratze kodeak galduz gero, zure kontutik blokeatuta egongo zara.","authentication_methods":"Autentifikazio metodoa","scan":{"title":"Eskaneatu","desc":"Zure bi-faktore aplikazioa erabiliz, eskaneatu QR kode hau edo idatzi testu-gakoa:","secret_code":"Giltza"},"verify":{"desc":"Bi-faktore autentifikazioa gaitzeko, sar ezazu bi-faktore kodea zure app-tik:"}},"attachmentRadius":"Eranskinak","attachments":"Eranskinak","avatar":"Avatarra","avatarAltRadius":"Abatarra (aipamenak)","avatarRadius":"Avatarrak","background":"Atzeko planoa","bio":"Biografia","block_export":"Blokeatu dituzunak esportatu","block_export_button":"Esportatu blokeatutakoak csv fitxategi batera","block_import":"Blokeatu dituzunak inportatu","block_import_error":"Errorea blokeatutakoak inportatzen","blocks_imported":"Blokeatutakoak inportaturik! Hauek prozesatzeak denbora hartuko du.","blocks_tab":"Blokeatutakoak","btnRadius":"Botoiak","cBlue":"Urdina (erantzun, jarraitu)","cGreen":"Berdea (Bertxiotu)","cOrange":"Laranja (Gogokoa)","cRed":"Gorria (ezeztatu)","change_password":"Pasahitza aldatu","change_password_error":"Arazao bat egon da zure pasahitza aldatzean.","changed_password":"Pasahitza ondo aldatu da!","collapse_subject":"Bildu gaia daukaten mezuak","composing":"Idazten","confirm_new_password":"Baieztatu pasahitz berria","current_avatar":"Zure uneko avatarra","current_password":"Indarrean dagoen pasahitza","current_profile_banner":"Zure profilaren banner-a","data_import_export_tab":"Datuak inportatu / esportatu","default_vis":"Lehenetsitako ikusgaitasunak","delete_account":"Ezabatu kontua","discoverable":"Baimendu zure kontua kanpo bilaketa-emaitzetan eta bestelako zerbitzuetan agertzea","delete_account_description":"Betirako ezabatu zure datuak eta desaktibatu kontua.","pad_emoji":"Zuriuneak gehitu emoji bat aukeratzen denean","delete_account_error":"Arazo bat gertatu da zure kontua ezabatzerakoan. Arazoa jarraitu eskero, administratzailearekin harremanetan jarri.","delete_account_instructions":"Idatzi zure pasahitza kontua ezabatzeko.","avatar_size_instruction":"Avatar irudien gomendatutako gutxieneko tamaina 150x150 pixel dira.","export_theme":"Gorde aurre-ezarpena","filtering":"Iragazten","filtering_explanation":"Hitz hauek dituzten mezu guztiak isilduak izango dira. Lerro bakoitzeko bat","follow_export":"Jarraitzen dituzunak esportatu","follow_export_button":"Esportatu zure jarraitzaileak csv fitxategi batean","follow_import":"Jarraitzen dituzunak inportatu","follow_import_error":"Errorea jarraitzaileak inportatzerakoan","follows_imported":"Jarraitzaileak inportatuta! Prozesatzeak denbora pixka bat iraungo du.","foreground":"Aurreko planoa","general":"Orokorra","hide_attachments_in_convo":"Ezkutatu eranskinak elkarrizketatan","hide_attachments_in_tl":"Ezkutatu eranskinak donbora-lerroan","hide_muted_posts":"Ezkutatu mutututako erabiltzaileen mezuak","max_thumbnails":"Mezu bakoitzeko argazki-miniatura kopuru maximoa","hide_isp":"Instantziari buruzko panela ezkutatu","preload_images":"Argazkiak aurrekargatu","use_one_click_nsfw":"Ireki eduki hunkigarria duten eranskinak klik batekin","hide_post_stats":"Ezkutatu mezuaren estatistikak (adibidez faborito kopurua)","hide_user_stats":"Ezkutatu erabiltzaile estatistikak (adibidez jarraitzaile kopurua)","hide_filtered_statuses":"Ezkutatu iragazitako mezuak","import_blocks_from_a_csv_file":"Blokeatutakoak inportatu CSV fitxategi batetik","import_followers_from_a_csv_file":"Inportatu jarraitzaileak csv fitxategi batetik","import_theme":"Kargatu aurre-ezarpena","inputRadius":"Sarrera eremuak","checkboxRadius":"Kuadrotxoak","instance_default":"(lehenetsia: {value})","instance_default_simple":"(lehenetsia)","interface":"Interfazea","interfaceLanguage":"Interfazearen hizkuntza","invalid_theme_imported":"Hautatutako fitxategia ez da onartutako Pleroma gaia. Ez da zure gaian aldaketarik burutu.","limited_availability":"Ez dago erabilgarri zure nabigatzailean","links":"Estekak","lock_account_description":"Mugatu zure kontua soilik onartutako jarraitzaileei","loop_video":"Begizta bideoak","loop_video_silent_only":"Soinu gabeko bideoak begiztatu bakarrik (adibidez Mastodon-eko gif-ak)","mutes_tab":"Mututuak","play_videos_in_modal":"Erreproduzitu bideoak zuzenean multimedia erreproduzigailuan","use_contain_fit":"Eranskinak ez moztu miniaturetan","name":"Izena","name_bio":"Izena eta biografia","new_password":"Pasahitz berria","notification_visibility":"Erakusteko jakinarazpen motak","notification_visibility_follows":"Jarraitzaileak","notification_visibility_likes":"Gogokoak","notification_visibility_mentions":"Aipamenak","notification_visibility_repeats":"Errepikapenak","no_rich_text_description":"Kendu testu-formatu aberastuak mezu guztietatik","no_blocks":"Ez daude erabiltzaile blokeatutak","no_mutes":"Ez daude erabiltzaile mututuak","hide_follows_description":"Ez erakutsi nor jarraitzen ari naizen","hide_followers_description":"Ez erakutsi nor ari den ni jarraitzen","hide_follows_count_description":"Ez erakutsi jarraitzen ari naizen kontuen kopurua","hide_followers_count_description":"Ez erakutsi nire jarraitzaileen kontuen kopurua","show_admin_badge":"Erakutsi \\"Administratzaile\\" etiketa nire profilan","show_moderator_badge":"Erakutsi \\"Moderatzaile\\" etiketa nire profilan","nsfw_clickthrough":"Gaitu klika hunkigarri eranskinak ezkutatzeko","oauth_tokens":"OAuth tokenak","token":"Tokena","refresh_token":"Berrgin tokena","valid_until":"Baliozkoa arte","revoke_token":"Ezeztatu","panelRadius":"Panelak","pause_on_unfocused":"Eguneraketa automatikoa gelditu fitxatik kanpo","presets":"Aurrezarpenak","profile_background":"Profilaren atzeko planoa","profile_banner":"Profilaren banner-a","profile_tab":"Profila","radii_help":"Konfiguratu interfazearen ertzen biribiltzea (pixeletan)","replies_in_timeline":"Denbora-lerroko erantzunak","reply_visibility_all":"Erakutsi erantzun guztiak","reply_visibility_following":"Erakutsi bakarrik niri zuzendutako edo nik jarraitutako erabiltzaileen erantzunak","reply_visibility_self":"Erakutsi bakarrik niri zuzendutako erantzunak","autohide_floating_post_button":"Automatikoki ezkutatu Mezu Berriaren botoia (sakelako)","saving_err":"Errorea ezarpenak gordetzean","saving_ok":"Ezarpenak gordeta","search_user_to_block":"Bilatu zein blokeatu nahi duzun","search_user_to_mute":"Bilatu zein isilarazi nahi duzun","security_tab":"Segurtasuna","scope_copy":"Ikusgaitasun aukerak kopiatu mezua erantzuterakoan (Zuzeneko Mezuak beti kopiatzen dute)","minimal_scopes_mode":"Bildu ikusgaitasun aukerak","set_new_avatar":"Ezarri avatar berria","set_new_profile_background":"Ezarri atzeko plano berria","set_new_profile_banner":"Ezarri profil banner berria","settings":"Ezarpenak","subject_input_always_show":"Erakutsi beti gaiaren eremua","subject_line_behavior":"Gaia kopiatu erantzuterakoan","subject_line_email":"E-maila bezala: \\"re: gaia\\"","subject_line_mastodon":"Mastodon bezala: kopiatu den bezala","subject_line_noop":"Ez kopiatu","post_status_content_type":"Argitarapen formatua","stop_gifs":"GIF-a iniziatu arratoia gainean jarrita","streaming":"Gaitu mezu berrien karga goraino mugitzean","text":"Testua","theme":"Gaia","theme_help":"Erabili hex-kolore kodeak (#rrggbb) gaiaren koloreak pertsonalizatzeko.","theme_help_v2_1":"Zenbait osagaien koloreak eta opakutasuna ezeztatu ditzakezu kontrol-laukia aktibatuz, \\"Garbitu dena\\" botoia erabili aldaketak deusezteko.","theme_help_v2_2":"Sarreren batzuen azpian dauden ikonoak atzeko planoaren eta testuaren arteko kontrastearen adierazleak dira, kokatu arratoia gainean informazio zehatza eskuratzeko. Kontuan izan gardentasun kontrasteen adierazleek erabiltzen direnean, kasurik okerrena erakusten dutela.","tooltipRadius":"Argibideak/alertak","upload_a_photo":"Argazkia kargatu","user_settings":"Erabiltzaile Ezarpenak","values":{"false":"ez","true":"bai"},"notifications":"Jakinarazpenak","notification_mutes":"Erabiltzaile jakin baten jakinarazpenak jasotzeari uzteko, isilarazi ezazu.","notification_blocks":"Erabiltzaile bat blokeatzeak jakinarazpen guztiak gelditzen ditu eta harpidetza ezeztatu.","enable_web_push_notifications":"Gaitu web jakinarazpenak","style":{"switcher":{"keep_color":"Mantendu koloreak","keep_shadows":"Mantendu itzalak","keep_opacity":"Mantendu opakotasuna","keep_roundness":"Mantendu biribiltasuna","keep_fonts":"Mantendu iturriak","save_load_hint":"\\"Mantendu\\" aukerak uneko konfiguratutako aukerak gordetzen ditu gaiak hautatzerakoan edo kargatzean, gai hauek esportatze garaian ere gordetzen ditu. Kontrol-lauki guztiak garbitzen direnean, esportazio-gaiak dena gordeko du.","reset":"Berrezarri","clear_all":"Garbitu dena","clear_opacity":"Garbitu opakotasuna"},"common":{"color":"Kolorea","opacity":"Opakotasuna","contrast":{"hint":"Kontrastearen erlazioa {ratio} da, {level} {context}","level":{"aa":"AA Mailako gidaliburua betetzen du (gutxienezkoa)","aaa":"AAA Mailako gidaliburua betetzen du (gomendatua)","bad":"ez ditu irisgarritasun arauak betetzen"},"context":{"18pt":"testu handientzat (+18pt)","text":"testuentzat"}}},"common_colors":{"_tab_label":"Ohikoa","main":"Ohiko koloreak","foreground_hint":"Ikusi \\"Aurreratua\\" fitxa kontrol zehatzagoa lortzeko","rgbo":"Ikono, azentu eta etiketak"},"advanced_colors":{"_tab_label":"Aurreratua","alert":"Alerten atzeko planoa","alert_error":"Errorea","badge":"Etiketen atzeko planoa","badge_notification":"Jakinarazpenak","panel_header":"Panelaren goiburua","top_bar":"Goiko barra","borders":"Ertzak","buttons":"Botoiak","inputs":"Sarrera eremuak","faint_text":"Testu itzalita"},"radii":{"_tab_label":"Biribiltasuna"},"shadows":{"_tab_label":"Itzal eta argiak","component":"Atala","override":"Berridatzi","shadow_id":"Itzala #{value}","blur":"Lausotu","spread":"Hedapena","inset":"Barrutik","hint":"Itzaletarako ere erabil dezakezu --aldagarri kolore balio gisa CSS3 aldagaiak erabiltzeko. Kontuan izan opakutasuna ezartzeak ez duela kasu honetan funtzionatuko.","filter_hint":{"always_drop_shadow":"Kontuz, itzal honek beti erabiltzen du {0} nabigatzaileak onartzen duenean.","drop_shadow_syntax":"{0} ez du onartzen {1} parametroa eta {2} gako-hitza.","avatar_inset":"Kontuan izan behar da barruko eta kanpoko itzal konbinazioak, ez esparotako emaitzak ager daitezkeela atzeko plano gardena duten Avatarretan.","spread_zero":"Hedapena > 0 duten itzalak zero izango balitz bezala agertuko dira","inset_classic":"Barruko itzalak {0} erabiliko dute"},"components":{"panel":"Panela","panelHeader":"Panel goiburua","topBar":"Goiko barra","avatar":"Erabiltzailearen avatarra (profilan)","avatarStatus":"Erabiltzailearen avatarra (mezuetan)","popup":"Popup-ak eta argibideak","button":"Botoia","buttonHover":"Botoia (gainean)","buttonPressed":"Botoai (sakatuta)","buttonPressedHover":"Botoia (sakatuta+gainean)","input":"Sarrera eremuak"}},"fonts":{"_tab_label":"Letra-tipoak","help":"Aukeratu letra-tipoak erabiltzailearen interfazean erabiltzeko. \\"Pertsonalizatua\\" letra-tipoan, sisteman agertzen den izen berdinarekin idatzi behar duzu.","components":{"interface":"Interfazea","input":"Sarrera eremuak","post":"Mezuen testua","postCode":"Tarte-bakarreko testua mezuetan (testu-formatu aberastuak)"},"family":"Letra-tipoaren izena","size":"Tamaina (px)","weight":"Pisua (lodiera)","custom":"Pertsonalizatua"},"preview":{"header":"Aurrebista","content":"Edukia","error":"Adibide errorea","button":"Botoia","text":"Hamaika {0} eta {1}","mono":"edukia","input":"Jadanik Los Angeles-en","faint_link":"laguntza","fine_print":"Irakurri gure {0} ezer erabilgarria ikasteko!","header_faint":"Ondo dago","checkbox":"Baldintzak berrikusi ditut","link":"esteka polita"}},"version":{"title":"Bertsioa","backend_version":"Backend bertsioa","frontend_version":"Frontend bertsioa"}},"time":{"day":"{0} egun","days":"{0} egun","day_short":"{0}e","days_short":"{0}e","hour":"{0} ordu","hours":"{0} ordu","hour_short":"{0}o","hours_short":"{0}o","in_future":"{0} barru","in_past":"duela {0}","minute":"{0} minutu","minutes":"{0} minutu","minute_short":"{0}min","minutes_short":"{0}min","month":"{0} hilabete","months":"{0} hilabete","month_short":"{0}h","months_short":"{0}h","now":"oraintxe bertan","now_short":"orain","second":"{0} segundu","seconds":"{0} segundu","second_short":"{0}s","seconds_short":"{0}s","week":"{0} aste","weeks":"{0} aste","week_short":"{0}a","weeks_short":"{0}a","year":"{0} urte","years":"{0} urte","year_short":"{0}u","years_short":"{0}u"},"timeline":{"collapse":"Bildu","conversation":"Elkarrizketa","error_fetching":"Errorea eguneraketak eskuratzen","load_older":"Kargatu mezu zaharragoak","no_retweet_hint":"Mezu hau jarraitzailentzako bakarrik markatuta dago eta ezin da errepikatu","repeated":"Errepikatuta","show_new":"Berriena erakutsi","up_to_date":"Eguneratuta","no_more_statuses":"Ez daude mezu gehiago","no_statuses":"Mezurik gabe"},"status":{"favorites":"Gogokoak","repeats":"Errepikapenak","delete":"Mezua ezabatu","pin":"Profilan ainguratu","unpin":"Aingura ezeztatu profilatik","pinned":"Ainguratuta","delete_confirm":"Mezu hau benetan ezabatu nahi duzu?","reply_to":"Erantzuten","replies_list":"Erantzunak:","mute_conversation":"Elkarrizketa isilarazi","unmute_conversation":"Elkarrizketa aktibatu"},"user_card":{"approve":"Onartu","block":"Blokeatu","blocked":"Blokeatuta!","deny":"Ukatu","favorites":"Gogokoak","follow":"Jarraitu","follow_sent":"Eskaera bidalita!","follow_progress":"Eskatzen…","follow_again":"Eskaera berriro bidali?","follow_unfollow":"Jarraitzeari utzi","followees":"Jarraitzen","followers":"Jarraitzaileak","following":"Jarraitzen!","follows_you":"Jarraitzen dizu!","its_you":"Zu zara!","media":"Multimedia","mention":"Aipatu","mute":"Isilarazi","muted":"Isilduta","per_day":"eguneko","remote_follow":"Jarraitu","report":"Berri eman","statuses":"Mezuak","subscribe":"Harpidetu","unsubscribe":"Harpidetza ezeztatu","unblock":"Blokeoa kendu","unblock_progress":"Blokeoa ezeztatzen…","block_progress":"Blokeatzen…","unmute":"Isiltasuna kendu","unmute_progress":"Isiltasuna kentzen…","mute_progress":"Isiltzen…","hide_repeats":"Ezkutatu errepikapenak","show_repeats":"Erakutsi errpekiapenak","admin_menu":{"moderation":"Moderazioa","grant_admin":"Administratzaile baimena","revoke_admin":"Ezeztatu administratzaile baimena","grant_moderator":"Moderatzaile baimena","revoke_moderator":"Ezeztatu moderatzaile baimena","activate_account":"Aktibatu kontua","deactivate_account":"Desaktibatu kontua","delete_account":"Ezabatu kontua","force_nsfw":"Markatu mezu guztiak hunkigarri gisa","strip_media":"Kendu multimedia mezuetatik","force_unlisted":"Behartu mezuak listatu gabekoak izatea","sandbox":"Behartu zure jarraitzaileentzako bakarrik argitaratzera","disable_remote_subscription":"Ez utzi istantzia kanpoko erabiltzaileak zuri jarraitzea","disable_any_subscription":"Ez utzi beste erabiltzaileak zuri jarraitzea","quarantine":"Ez onartu mezuak beste instantzietatik","delete_user":"Erabiltzailea ezabatu","delete_user_confirmation":"Erabat ziur zaude? Ekintza hau ezin da desegin."}},"user_profile":{"timeline_title":"Erabiltzailearen denbora-lerroa","profile_does_not_exist":"Barkatu, profil hau ez da existitzen.","profile_loading_error":"Barkatu, errore bat gertatu da profila kargatzean."},"user_reporting":{"title":"{0}-ri buruz berri ematen","add_comment_description":"Zure kexa moderatzaileei bidaliko da. Nahi baduzu zure kexaren zergatia idatz dezakezu:","additional_comments":"Iruzkin gehiago","forward_description":"Kontu hau beste instantzia batekoa da. Nahi duzu txostenaren kopia bat bidali ere?","forward_to":"{0}-ri birbidali","submit":"Bidali","generic_error":"Errore bat gertatu da zure eskaera prozesatzerakoan."},"who_to_follow":{"more":"Gehiago","who_to_follow":"Nori jarraitu"},"tool_tip":{"media_upload":"Multimedia igo","repeat":"Errepikatu","reply":"Erantzun","favorite":"Gogokoa","user_settings":"Erabiltzaile ezarpenak"},"upload":{"error":{"base":"Igoerak huts egin du.","file_too_big":"Artxiboa haundiegia [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","default":"Saiatu berriro geroago"},"file_size_units":{"B":"B","KiB":"KiB","MiB":"MiB","GiB":"GiB","TiB":"TiB"}},"search":{"people":"Erabiltzaileak","hashtags":"Traolak","person_talking":"{count} pertsona hitzegiten","people_talking":"{count} jende hitzegiten","no_results":"Emaitzarik ez"},"password_reset":{"forgot_password":"Pasahitza ahaztua?","password_reset":"Pasahitza berrezarri","instruction":"Idatzi zure helbide elektronikoa edo erabiltzaile izena. Pasahitza berrezartzeko esteka bidaliko dizugu.","placeholder":"Zure e-posta edo erabiltzaile izena","check_email":"Begiratu zure posta elektronikoa pasahitza berrezarri ahal izateko.","return_home":"Itzuli hasierara","too_many_requests":"Saiakera gehiegi burutu ditzu, saiatu berriro geroxeago.","password_reset_disabled":"Pasahitza berrezartzea debekatuta dago. Mesedez, jarri harremanetan instantzia administratzailearekin.","password_reset_required":"Pasahitza berrezarri behar duzu saioa hasteko.","password_reset_required_but_mailer_is_disabled":"Pasahitza berrezarri behar duzu, baina pasahitza berrezartzeko aukera desgaituta dago. Mesedez, jarri harremanetan instantziaren administratzailearekin."},"about":{"mrf":{"keyword":{"keyword_policies":"Gako-hitz politika","ftl_removal":"\\"Ezagutzen den Sarea\\" denbora-lerrotik ezabatu","is_replaced_by":"→","replace":"Ordezkatuak","reject":"Ukatuak"},"federation":"Federazioa","simple":{"media_nsfw_desc":"Instantzia honek hurrengo instantzien multimediak sentikorrak izatera behartzen ditu:","media_nsfw":"Behartu multimedia sentikor moduan","media_removal_desc":"Instantzia honek atxikitutako multimedia hurrengo instantzietatik ezabatzen ditu:","media_removal":"Multimedia Ezabatu","ftl_removal_desc":"Instantzia honek hurrengo instantziak ezabatzen ditu \\"Ezagutzen den Sarea\\" denbora-lerrotik:","ftl_removal":"\\"Ezagutzen den Sarea\\" denbora-lerrotik ezabatu","quarantine_desc":"Instantzia honek soilik mezu publikoak bidaliko ditu instantzia hauetara:","quarantine":"Koarentena","reject_desc":"Instantzia honek ez ditu hurrengo instantzien mezuak onartuko:","reject":"Ukatuak","accept_desc":"Instantzia honek hurrengo instantzietako mezuak soilik onartzen ditu:","accept":"Onartu","simple_policies":"Gure instantziaren politika zehatzak"},"mrf_policies_desc":"MRF politikek instantzia honen federazioa manipulatzen dute gainerako instantziekin. Honako politika hauek daude gaituta:","mrf_policies":"Gaitutako MRF politikak"},"staff":"Arduradunak"},"domain_mute_card":{"unmute_progress":"Isiltasuna kentzen…","unmute":"Isiltasuna kendu","mute_progress":"Isiltzen…","mute":"Isilarazi"},"shoutbox":{"title":"Oihu-kutxa"}}')}}]); -//# sourceMappingURL=12.a3dc3473565ec07a88c2.js.map \ No newline at end of file diff --git a/priv/static/static/js/13.cdc076533397e24391bc.js b/priv/static/static/js/13.99621e6c47936075b44d.js similarity index 76% rename from priv/static/static/js/13.cdc076533397e24391bc.js rename to priv/static/static/js/13.99621e6c47936075b44d.js index 6819297a8..ef26b927b 100644 --- a/priv/static/static/js/13.cdc076533397e24391bc.js +++ b/priv/static/static/js/13.99621e6c47936075b44d.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{593:function(t){t.exports=JSON.parse('{"chat":{"title":"Chat"},"features_panel":{"chat":"Chat","gopher":"Gopher","media_proxy":"Media-välityspalvelin","scope_options":"Näkyvyyden rajaus","text_limit":"Tekstin pituusraja","title":"Ominaisuudet","who_to_follow":"Seurausehdotukset"},"finder":{"error_fetching_user":"Virhe hakiessa käyttäjää","find_user":"Hae käyttäjä"},"general":{"apply":"Aseta","submit":"Lähetä","more":"Lisää","generic_error":"Virhe tapahtui","optional":"valinnainen","show_more":"Näytä lisää","show_less":"Näytä vähemmän","dismiss":"Sulje","cancel":"Peruuta","disable":"Poista käytöstä","confirm":"Hyväksy","verify":"Varmenna","enable":"Ota käyttöön","loading":"Ladataan…","error_retry":"Yritä uudelleen","retry":"Yritä uudelleen","close":"Sulje","peek":"Kurkkaa"},"login":{"login":"Kirjaudu sisään","description":"Kirjaudu sisään OAuthilla","logout":"Kirjaudu ulos","password":"Salasana","placeholder":"esim. Seppo","register":"Rekisteröidy","username":"Käyttäjänimi","hint":"Kirjaudu sisään liittyäksesi keskusteluun","authentication_code":"Todennuskoodi","enter_recovery_code":"Syötä palautuskoodi","recovery_code":"Palautuskoodi","heading":{"totp":"Monivaihetodennus","recovery":"Monivaihepalautus"},"enter_two_factor_code":"Syötä monivaihetodennuskoodi"},"nav":{"about":"Tietoja","back":"Takaisin","chat":"Paikallinen Chat","friend_requests":"Seurauspyynnöt","mentions":"Maininnat","interactions":"Interaktiot","dms":"Yksityisviestit","public_tl":"Julkinen Aikajana","timeline":"Aikajana","twkn":"Tunnettu Verkosto","user_search":"Käyttäjähaku","who_to_follow":"Seurausehdotukset","preferences":"Asetukset","administration":"Ylläpito","search":"Haku","bookmarks":"Kirjanmerkit"},"notifications":{"broken_favorite":"Viestiä ei löydetty…","favorited_you":"tykkäsi viestistäsi","followed_you":"seuraa sinua","load_older":"Lataa vanhempia ilmoituksia","notifications":"Ilmoitukset","read":"Lue!","repeated_you":"toisti viestisi","no_more_notifications":"Ei enempää ilmoituksia","reacted_with":"lisäsi reaktion {0}","migrated_to":"siirtyi sivulle","follow_request":"haluaa seurata sinua"},"polls":{"add_poll":"Lisää äänestys","add_option":"Lisää vaihtoehto","option":"Vaihtoehto","votes":"ääntä","vote":"Äänestä","type":"Äänestyksen tyyppi","single_choice":"Yksi valinta","multiple_choices":"Monivalinta","expiry":"Äänestyksen kesto","expires_in":"Päättyy {0} päästä","expired":"Päättyi {0} sitten","not_enough_option":"Liian vähän uniikkeja vaihtoehtoja äänestyksessä","not_enough_options":"Liian vähän ainutkertaisia vaihtoehtoja"},"interactions":{"favs_repeats":"Toistot ja tykkäykset","follows":"Uudet seuraukset","load_older":"Lataa vanhempia interaktioita","moves":"Käyttäjien siirtymiset"},"post_status":{"new_status":"Uusi viesti","account_not_locked_warning":"Tilisi ei ole {0}. Kuka vain voi seurata sinua nähdäksesi \'vain-seuraajille\' -viestisi.","account_not_locked_warning_link":"lukittu","attachments_sensitive":"Merkkaa liitteet arkaluonteisiksi","content_type":{"text/plain":"Tavallinen teksti","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},"content_warning":"Aihe (valinnainen)","default":"Tulin juuri saunasta.","direct_warning":"Tämä viesti näkyy vain mainituille käyttäjille.","posting":"Lähetetään","scope":{"direct":"Yksityisviesti - Näkyy vain mainituille käyttäjille","private":"Vain-seuraajille - Näkyy vain seuraajillesi","public":"Julkinen - Näkyy julkisilla aikajanoilla","unlisted":"Listaamaton - Ei näy julkisilla aikajanoilla"},"direct_warning_to_all":"Tämä viesti näkyy vain viestissä mainituille käyttäjille.","direct_warning_to_first_only":"Tämä viesti näkyy vain viestin alussa mainituille käyttäjille.","scope_notice":{"public":"Tämä viesti näkyy kaikille","private":"Tämä viesti näkyy vain sinun seuraajillesi","unlisted":"Tämä viesti ei näy Julkisella Aikajanalla tai Koko Tunnettu Verkosto -aikajanalla"},"preview":"Esikatselu","preview_empty":"Tyhjä","empty_status_error":"Tyhjää viestiä ilman tiedostoja ei voi lähettää","media_description":"Tiedoston kuvaus","media_description_error":"Tiedostojen päivitys epäonnistui, yritä uudelleen"},"registration":{"bio":"Kuvaus","email":"Sähköposti","fullname":"Koko nimi","password_confirm":"Salasanan vahvistaminen","registration":"Rekisteröityminen","token":"Kutsuvaltuus","captcha":"Varmenne","new_captcha":"Paina kuvaa saadaksesi uuden varmenteen","validations":{"username_required":"ei voi olla tyhjä","fullname_required":"ei voi olla tyhjä","email_required":"ei voi olla tyhjä","password_required":"ei voi olla tyhjä","password_confirmation_required":"ei voi olla tyhjä","password_confirmation_match":"pitää vastata salasanaa"},"username_placeholder":"esim. peke","fullname_placeholder":"esim. Pekka Postaaja","bio_placeholder":"esim.\\nHei, olen Pekka.\\nOlen esimerkkikäyttäjä tässä verkostossa."},"settings":{"attachmentRadius":"Liitteet","attachments":"Liitteet","avatar":"Profiilikuva","avatarAltRadius":"Profiilikuvat (ilmoitukset)","avatarRadius":"Profiilikuvat","background":"Tausta","bio":"Kuvaus","btnRadius":"Napit","cBlue":"Sininen (Vastaukset, seuraukset)","cGreen":"Vihreä (Toistot)","cOrange":"Oranssi (Tykkäykset)","cRed":"Punainen (Peruminen)","change_password":"Vaihda salasana","change_password_error":"Virhe vaihtaessa salasanaa.","changed_password":"Salasana vaihdettu!","collapse_subject":"Minimoi viestit, joille on asetettu aihe","composing":"Viestien laatiminen","confirm_new_password":"Vahvista uusi salasana","current_avatar":"Nykyinen profiilikuvasi","current_password":"Nykyinen salasana","current_profile_banner":"Nykyinen julisteesi","data_import_export_tab":"Tietojen tuonti / vienti","default_vis":"Oletusnäkyvyysrajaus","delete_account":"Poista tili","delete_account_description":"Poista tietosi ja lukitse tili pysyvästi.","delete_account_error":"Virhe poistaessa tiliäsi. Jos virhe jatkuu, ota yhteyttä palvelimesi ylläpitoon.","delete_account_instructions":"Syötä salasanasi vahvistaaksesi tilin poiston.","emoji_reactions_on_timeline":"Näytä emojireaktiot aikajanalla","export_theme":"Tallenna teema","filtering":"Suodatus","filtering_explanation":"Kaikki viestit, jotka sisältävät näitä sanoja, suodatetaan. Yksi sana per rivi.","follow_export":"Seurausten vienti","follow_export_button":"Vie seurauksesi CSV-tiedostoon","follow_export_processing":"Käsitellään, sinua pyydetään lataamaan tiedosto hetken päästä","follow_import":"Seurausten tuonti","follow_import_error":"Virhe tuodessa seuraksia","follows_imported":"Seuraukset tuotu! Niiden käsittely vie hetken.","foreground":"Etuala","general":"Yleinen","hide_attachments_in_convo":"Piilota liitteet keskusteluissa","hide_attachments_in_tl":"Piilota liitteet aikajanalla","max_thumbnails":"Suurin sallittu määrä liitteitä esikatselussa","hide_isp":"Piilota palvelimenkohtainen ruutu","preload_images":"Esilataa kuvat","use_one_click_nsfw":"Avaa NSFW-liitteet yhdellä painalluksella","hide_post_stats":"Piilota viestien statistiikka (esim. tykkäysten määrä)","hide_user_stats":"Piilota käyttäjien statistiikka (esim. seuraajien määrä)","import_followers_from_a_csv_file":"Tuo seuraukset CSV-tiedostosta","import_theme":"Tuo tallennettu teema","inputRadius":"Syöttökentät","checkboxRadius":"Valintalaatikot","instance_default":"(oletus: {value})","instance_default_simple":"(oletus)","interface":"Käyttöliittymä","interfaceLanguage":"Käyttöliittymän kieli","invalid_theme_imported":"Tuotu tallennettu teema on epäkelpo, muutoksia ei tehty nykyiseen teemaasi.","limited_availability":"Ei saatavilla selaimessasi","links":"Linkit","lock_account_description":"Vain erikseen hyväksytyt käyttäjät voivat seurata tiliäsi","loop_video":"Uudelleentoista videot","loop_video_silent_only":"Uudelleentoista ainoastaan äänettömät videot (Video-\\"giffit\\")","play_videos_in_modal":"Toista videot modaalissa","use_contain_fit":"Älä rajaa liitteitä esikatselussa","name":"Nimi","name_bio":"Nimi ja kuvaus","new_password":"Uusi salasana","notification_visibility":"Ilmoitusten näkyvyys","notification_visibility_follows":"Seuraukset","notification_visibility_likes":"Tykkäykset","notification_visibility_mentions":"Maininnat","notification_visibility_repeats":"Toistot","notification_visibility_emoji_reactions":"Reaktiot","no_rich_text_description":"Älä näytä tekstin muotoilua","hide_network_description":"Älä näytä seurauksiani tai seuraajiani","nsfw_clickthrough":"Piilota NSFW liitteet klikkauksen taakse","oauth_tokens":"OAuth-merkit","token":"Token","refresh_token":"Päivitä token","valid_until":"Voimassa asti","revoke_token":"Peruuta","panelRadius":"Ruudut","pause_on_unfocused":"Pysäytä automaattinen viestien näyttö välilehden ollessa pois fokuksesta","presets":"Valmiit teemat","profile_background":"Taustakuva","profile_banner":"Juliste","profile_tab":"Profiili","radii_help":"Aseta reunojen pyöristys (pikseleinä)","replies_in_timeline":"Keskustelut aikajanalla","reply_visibility_all":"Näytä kaikki vastaukset","reply_visibility_following":"Näytä vain vastaukset minulle tai seuraamilleni käyttäjille","reply_visibility_self":"Näytä vain vastaukset minulle","saving_err":"Virhe tallentaessa asetuksia","saving_ok":"Asetukset tallennettu","security_tab":"Tietoturva","scope_copy":"Kopioi näkyvyysrajaus vastatessa (Yksityisviestit aina kopioivat)","set_new_avatar":"Aseta uusi profiilikuva","set_new_profile_background":"Aseta uusi taustakuva","set_new_profile_banner":"Aseta uusi juliste","settings":"Asetukset","subject_input_always_show":"Näytä aihe-kenttä","subject_line_behavior":"Aihe-kentän kopiointi","subject_line_email":"Kuten sähköposti: \\"re: aihe\\"","subject_line_mastodon":"Kopioi sellaisenaan","subject_line_noop":"Älä kopioi","stop_gifs":"Toista giffit vain kohdistaessa","streaming":"Näytä uudet viestit automaattisesti ollessasi ruudun huipulla","text":"Teksti","theme":"Teema","theme_help":"Käytä heksadesimaalivärejä muokataksesi väriteemaasi.","theme_help_v2_1":"Voit asettaa tiettyjen osien värin tai läpinäkyvyyden täyttämällä valintalaatikon, käytä \\"Tyhjennä kaikki\\"-nappia tyhjentääksesi kaiken.","theme_help_v2_2":"Ikonit kenttien alla ovat kontrasti-indikaattoreita, lisätietoa kohdistamalla. Käyttäessä läpinäkyvyyttä ne näyttävät pahimman skenaarion.","tooltipRadius":"Ohje- tai huomioviestit","user_settings":"Käyttäjän asetukset","values":{"false":"pois päältä","true":"päällä"},"hide_follows_description":"Älä näytä ketä seuraan","show_moderator_badge":"Näytä Moderaattori-merkki profiilissani","useStreamingApi":"Vastaanota viestiejä ja ilmoituksia reaaliajassa","notification_setting_filters":"Suodattimet","notification_setting_privacy_option":"Piilota lähettäjä ja sisältö sovelluksen ulkopuolisista ilmoituksista","enable_web_push_notifications":"Ota käyttöön sovelluksen ulkopuoliset ilmoitukset","app_name":"Sovelluksen nimi","security":"Turvallisuus","mfa":{"otp":"OTP","setup_otp":"OTP-asetukset","wait_pre_setup_otp":"esiasetetaan OTP:ta","confirm_and_enable":"Hyväksy ja käytä OTP","title":"Monivaihetodennus","generate_new_recovery_codes":"Luo uudet palautuskoodit","authentication_methods":"Todennus","warning_of_generate_new_codes":"Luodessasi uudet palautuskoodit, vanhat koodisi lakkaavat toimimasta.","recovery_codes":"Palautuskoodit.","waiting_a_recovery_codes":"Odotetaan palautuskoodeja…","recovery_codes_warning":"Kirjoita koodit ylös tai tallenna ne turvallisesti, muuten et näe niitä uudestaan. Jos et voi käyttää monivaihetodennusta ja sinulla ei ole palautuskoodeja, et voi enää kirjautua sisään tilillesi.","scan":{"title":"Skannaa","secret_code":"Avain","desc":"Käytä monivaihetodennus-sovellusta skannakksesi tämän QR-kooding, tai syötä avain:"},"verify":{"desc":"Kytkeäksesi päälle monivaihetodennuksen, syötä koodi monivaihetodennussovellksesta:"}},"allow_following_move":"Salli automaattinen seuraaminen kun käyttäjä siirtää tilinsä","block_export":"Estojen vienti","block_export_button":"Vie estosi CSV-tiedostoon","block_import":"Estojen tuonti","block_import_error":"Virhe tuodessa estoja","blocks_imported":"Estot tuotu! Käsittely vie hetken.","blocks_tab":"Estot","change_email":"Vaihda sähköpostiosoite","change_email_error":"Virhe vaihtaessa sähköpostiosoitetta.","changed_email":"Sähköpostiosoite vaihdettu!","domain_mutes":"Sivut","avatar_size_instruction":"Suositeltu vähimmäiskoko profiilikuville on 150x150 pikseliä.","accent":"Korostus","hide_muted_posts":"Piilota mykistettyjen käyttäjien viestit","hide_filtered_statuses":"Piilota mykistetyt viestit","import_blocks_from_a_csv_file":"Tuo estot CSV-tiedostosta","no_blocks":"Ei estoja","no_mutes":"Ei mykistyksiä","notification_visibility_moves":"Käyttäjien siirtymiset","hide_followers_description":"Älä näytä ketkä seuraavat minua","hide_follows_count_description":"Älä näytä seurauksien määrää","hide_followers_count_description":"Älä näytä seuraajien määrää","show_admin_badge":"Näytä Ylläpitäjä-merkki proofilissani","autohide_floating_post_button":"Piilota Uusi Viesti -nappi automaattisesti (mobiili)","search_user_to_block":"Hae estettäviä käyttäjiä","search_user_to_mute":"Hae mykistettäviä käyttäjiä","minimal_scopes_mode":"Yksinkertaista näkyvyydenrajauksen vaihtoehdot","post_status_content_type":"Uuden viestin sisällön muoto","user_mutes":"Käyttäjät","useStreamingApiWarning":"(Kokeellinen)","type_domains_to_mute":"Etsi mykistettäviä sivustoja","upload_a_photo":"Lataa kuva","fun":"Hupi","greentext":"Meeminuolet","notifications":"Ilmoitukset","style":{"switcher":{"save_load_hint":"\\"Säilytä\\" asetukset säilyttävät tällä hetkellä asetetut asetukset valittaessa tai ladatessa teemaa, se myös tallentaa kyseiset asetukset viedessä teemaa. Kun kaikki laatikot ovat tyhjänä, viety teema tallentaa kaiken.","help":{"older_version_imported":"Tuomasi tiedosto on luotu vanhemmalla versiolla.","fe_upgraded":"PleromaFE:n teemaus päivitetty versiopäivityksen yhteydessä.","migration_snapshot_ok":"Varmuuden vuoksi teeman kaappaus ladattu. Voit koittaa ladata teeman sisällön.","migration_napshot_gone":"Jostain syystä teeman kaappaus puuttuu, kaikki asiat eivät välttämättä näytä oikealta.","snapshot_source_mismatch":"Versiot eivät täsmää: todennäköisesti versio vaihdettu vanhempaan ja päivitetty uudestaan, jos vaihdoit teemaa vanhalla versiolla, sinun tulisi käyttää vanhaa versiota, muutoin uutta.","upgraded_from_v2":"PleromaFE on päivitetty, teemasi saattaa näyttää erilaiselta kuin muistat.","v2_imported":"Tuomasi tiedosto on luotu vanhemmalla versiolla. Yhteensopivuus ei välttämättä ole täydellinen.","future_version_imported":"Tuomasi tiedosto on luotu uudemmalla versiolla.","snapshot_present":"Teeman kaappaus ladattu, joten kaikki arvot ovat ylikirjoitettu. Voit sen sijaan ladata teeman sisällön.","snapshot_missing":"Teeman kaappausta ei tiedostossa, joten se voi näyttää erilaiselta kuin suunniteltu.","fe_downgraded":"PleromaFE:n versio vaihtunut vanhempaan."},"keep_color":"Säilytä värit","keep_shadows":"Säilytä varjot","keep_opacity":"Säilytä läpinäkyvyys","keep_roundness":"Säilytä pyöristys","keep_fonts":"Säilytä fontit","reset":"Palauta","clear_all":"Tyhjennä kaikki","clear_opacity":"Tyhjennä läpinäkyvyys","load_theme":"Lataa teema","keep_as_is":"Pidä sellaisenaan","use_snapshot":"Vanha","use_source":"Uusi"},"advanced_colors":{"selectedPost":"Valittu viesti","_tab_label":"Edistynyt","alert":"Varoituksen tausta","alert_error":"Virhe","alert_warning":"Varoitus","alert_neutral":"Neutraali","post":"Viestit/Käyttäjien kuvaukset","badge":"Merkin tausta","badge_notification":"Ilmoitus","panel_header":"Ruudun otsikko","top_bar":"Yläpalkki","borders":"Reunat","buttons":"Napit","inputs":"Syöttökentät","faint_text":"Häivytetty teksti","underlay":"Taustapeite","poll":"Äänestyksen kuvaaja","icons":"Ikonit","highlight":"Korostetut elementit","pressed":"Painettu","selectedMenu":"Valikon valinta","disabled":"Pois käytöstä","toggled":"Kytketty","tabs":"Välilehdet","popover":"Työkaluvinkit, valikot, ponnahdusviestit"},"common":{"color":"Väri","opacity":"Läpinäkyvyys","contrast":{"level":{"aaa":"saavuttaa AAA-tason (suositeltu)","aa":"saavuttaa AA-tason (minimi)","bad":"ei saavuta mitään helppokäyttöisyyssuosituksia"},"hint":"Kontrastisuhde on {ratio}, se {level} {context}","context":{"18pt":"suurella (18pt+) tekstillä","text":"tekstillä"}}},"common_colors":{"_tab_label":"Yleinen","main":"Yleiset värit","foreground_hint":"Löydät \\"Edistynyt\\"-välilehdeltä tarkemmat asetukset","rgbo":"Ikonit, korostukset, merkit"},"shadows":{"filter_hint":{"always_drop_shadow":"Varoitus, tämä varjo käyttää aina {0} kun selain tukee sitä.","avatar_inset":"Huom. sisennettyjen ja ei-sisennettyjen varjojen yhdistelmät saattavat luoda ei-odotettuja lopputuloksia läpinäkyvillä profiilikuvilla.","drop_shadow_syntax":"{0} ei tue {1} parametria ja {2} avainsanaa.","spread_zero":"Varjot joiden levitys > 0 näyttävät samalta kuin se olisi nolla","inset_classic":"Sisennetyt varjot käyttävät {0}"},"components":{"buttonPressedHover":"Nappi (painettu ja kohdistettu)","panel":"Ruutu","panelHeader":"Ruudun otsikko","topBar":"Yläpalkki","avatar":"Profiilikuva (profiilinäkymässä)","avatarStatus":"Profiilikuva (viestin yhtyedessä)","popup":"Ponnahdusviestit ja työkaluvinkit","button":"Nappi","buttonHover":"Nappi (kohdistus)","buttonPressed":"Nappi (painettu)","input":"Syöttökenttä"},"hintV3":"Voit käyttää {0} merkintää varjoille käyttääksesi väriä toisesta asetuksesta.","_tab_label":"Valo ja varjostus","component":"Komponentti","override":"Ylikirjoita","shadow_id":"Varjo #{value}","blur":"Sumennus","spread":"Levitys","inset":"Sisennys"},"fonts":{"help":"Valitse fontti käyttöliittymälle. \\"Oma\\"-vaihtohdolle on syötettävä fontin nimi tarkalleen samana kuin se on järjestelmässäsi.","_tab_label":"Fontit","components":{"interface":"Käyttöliittymä","input":"Syöttökentät","post":"Viestin teksti","postCode":"Tasavälistetty teksti viestissä"},"family":"Fontin nimi","size":"Koko (pikseleissä)","weight":"Painostus (paksuus)","custom":"Oma"},"preview":{"input":"Tulin juuri saunasta.","header":"Esikatselu","content":"Sisältö","error":"Esimerkkivirhe","button":"Nappi","text":"Vähän lisää {0} ja {1}","mono":"sisältöä","faint_link":"manuaali","fine_print":"Lue meidän {0} vaikka huvin vuoksi!","header_faint":"Tämä on OK","checkbox":"Olen silmäillyt käyttöehdot","link":"kiva linkki"},"radii":{"_tab_label":"Pyöristys"}},"enter_current_password_to_confirm":"Syötä nykyinen salasanasi todentaaksesi henkilöllisyytesi","discoverable":"Salli tilisi näkyvyys hakukoneisiin ja muihin palveluihin","pad_emoji":"Välistä emojit välilyönneillä lisätessäsi niitä valitsimesta","mutes_tab":"Mykistykset","new_email":"Uusi sähköpostiosoite","notification_setting_privacy":"Yksityisyys","notification_mutes":"Jos et halua ilmoituksia joltain käyttäjältä, käytä mykistystä.","notification_blocks":"Estäminen pysäyttää kaikki ilmoitukset käyttäjältä ja poistaa seurauksen.","version":{"title":"Versio","backend_version":"Palvelimen versio","frontend_version":"Käyttöliittymän versio"},"reset_profile_background":"Nollaa taustakuva","reset_background_confirm":"Haluatko todella nollata taustakuvan?","mutes_and_blocks":"Mykistykset ja Estot","bot":"Tämä on bottitili","profile_fields":{"label":"Profiilin metatiedot","add_field":"Lisää kenttä","name":"Nimi","value":"Sisältö"},"reset_avatar":"Nollaa profiilikuva","reset_profile_banner":"Nollaa profiilin tausta","reset_avatar_confirm":"Haluatko todella nollata profiilikuvan?","reset_banner_confirm":"Haluatko todella nollata profiilin taustan?"},"time":{"day":"{0} päivä","days":"{0} päivää","day_short":"{0}pv","days_short":"{0}pv","hour":"{0} tunti","hours":"{0} tuntia","hour_short":"{0}t","hours_short":"{0}t","in_future":"{0} tulevaisuudessa","in_past":"{0} sitten","minute":"{0} minuutti","minutes":"{0} minuuttia","minute_short":"{0}min","minutes_short":"{0}min","month":"{0} kuukausi","months":"{0} kuukautta","month_short":"{0}kk","months_short":"{0}kk","now":"juuri nyt","now_short":"nyt","second":"{0} sekunti","seconds":"{0} sekuntia","second_short":"{0}s","seconds_short":"{0}s","week":"{0} viikko","weeks":"{0} viikkoa","week_short":"{0}vk","weeks_short":"{0}vk","year":"{0} vuosi","years":"{0} vuotta","year_short":"{0}v","years_short":"{0}v"},"timeline":{"collapse":"Sulje","conversation":"Keskustelu","error_fetching":"Virhe ladatessa viestejä","load_older":"Lataa vanhempia viestejä","no_retweet_hint":"Viesti ei ole julkinen, eikä sitä voi toistaa","repeated":"toisti","show_new":"Näytä uudet","up_to_date":"Ajantasalla","no_more_statuses":"Ei enempää viestejä","no_statuses":"Ei viestejä","reload":"Päivitä"},"status":{"favorites":"Tykkäykset","repeats":"Toistot","delete":"Poista","pin":"Kiinnitä profiiliisi","unpin":"Poista kiinnitys","pinned":"Kiinnitetty","delete_confirm":"Haluatko varmasti postaa viestin?","reply_to":"Vastaus","replies_list":"Vastaukset:","mute_conversation":"Mykistä keskustelu","unmute_conversation":"Poista mykistys","status_unavailable":"Viesti ei saatavissa","copy_link":"Kopioi linkki","bookmark":"Lisää kirjanmerkkeihin","unbookmark":"Poista kirjanmerkeistä","thread_muted":"Keskustelu mykistetty","thread_muted_and_words":", sisältää sanat:","show_full_subject":"Näytä koko otsikko","hide_full_subject":"Piilota koko otsikko","show_content":"Näytä sisältö","hide_content":"Piilota sisältö","status_deleted":"Poistettu viesti"},"user_card":{"approve":"Hyväksy","block":"Estä","blocked":"Estetty!","deny":"Älä hyväksy","follow":"Seuraa","follow_sent":"Pyyntö lähetetty!","follow_progress":"Pyydetään…","follow_again":"Lähetä pyyntö uudestaan?","follow_unfollow":"Älä seuraa","followees":"Seuraa","followers":"Seuraajat","following":"Seuraat!","follows_you":"Seuraa sinua!","its_you":"Sinun tili!","mute":"Mykistä","muted":"Mykistetty","per_day":"päivässä","remote_follow":"Seuraa muualta","statuses":"Viestit","hidden":"Piilotettu","media":"Media","block_progress":"Estetään…","admin_menu":{"grant_admin":"Anna Ylläpitöoikeudet","force_nsfw":"Merkitse kaikki viestit NSFW:nä","disable_any_subscription":"Estä käyttäjän seuraaminen","moderation":"Moderaatio","revoke_admin":"Poista Ylläpitöoikeudet","grant_moderator":"Anna Moderaattorioikeudet","revoke_moderator":"Poista Moderaattorioikeudet","activate_account":"Aktivoi tili","deactivate_account":"Deaktivoi tili","delete_account":"Poista tili","strip_media":"Poista media viesteistä","force_unlisted":"Pakota viestit listaamattomiksi","sandbox":"Pakota viestit vain seuraajille","disable_remote_subscription":"Estä seuraaminen ulkopuolisilta sivuilta","quarantine":"Estä käyttäjän viestin federoituminen","delete_user":"Poista käyttäjä","delete_user_confirmation":"Oletko aivan varma? Tätä ei voi kumota."},"favorites":"Tykkäykset","mention":"Mainitse","report":"Ilmianna","subscribe":"Tilaa","unsubscribe":"Poista tilaus","unblock":"Poista esto","unblock_progress":"Poistetaan estoa…","unmute":"Poista mykistys","unmute_progress":"Poistetaan mykistystä…","mute_progress":"Mykistetään…","hide_repeats":"Piilota toistot","show_repeats":"Näytä toistot"},"user_profile":{"timeline_title":"Käyttäjän aikajana","profile_does_not_exist":"Tätä profiilia ei ole.","profile_loading_error":"Virhe ladatessa profiilia."},"who_to_follow":{"more":"Lisää","who_to_follow":"Seurausehdotukset"},"tool_tip":{"media_upload":"Lataa tiedosto","repeat":"Toista","reply":"Vastaa","favorite":"Tykkää","user_settings":"Käyttäjäasetukset","add_reaction":"Lisää Reaktio","accept_follow_request":"Hyväksy seurauspyyntö","reject_follow_request":"Hylkää seurauspyyntö","bookmark":"Kirjanmerkki"},"upload":{"error":{"base":"Lataus epäonnistui.","file_too_big":"Tiedosto liian suuri [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","default":"Yritä uudestaan myöhemmin"},"file_size_units":{"B":"tavua","KiB":"kt","MiB":"Mt","GiB":"Gt","TiB":"Tt"}},"about":{"mrf":{"keyword":{"keyword_policies":"Avainsanasäännöt","ftl_removal":"Poistettu \\"Koko Tunnettu Verkosto\\" -aikajanalta","reject":"Hylkää","replace":"Korvaa","is_replaced_by":"→"},"simple":{"accept":"Hyväksy","reject":"Hylkää","quarantine":"Karanteeni","ftl_removal":"Poisto \\"Koko Tunnettu Verkosto\\" -aikajanalta","media_removal":"Media-tiedostojen poisto","simple_policies":"Palvelinkohtaiset Säännöt","accept_desc":"Tämä palvelin hyväksyy viestit vain seuraavilta palvelimilta:","reject_desc":"Tämä palvelin ei hyväksy viestejä seuraavilta palvelimilta:","quarantine_desc":"Tämä palvelin lähettää vain julkisia viestejä seuraaville palvelimille:","ftl_removal_desc":"Tämä palvelin poistaa nämä palvelimet \\"Koko Tunnettu Verkosto\\"-aikajanalta:","media_removal_desc":"Tämä palvelin postaa mediatiedostot viesteistä seuraavilta palvelimilta:","media_nsfw":"Pakota Media Arkaluontoiseksi","media_nsfw_desc":"Tämä palvelin pakottaa mediatiedostot arkaluonteisiksi seuraavilta palvelimilta:"},"federation":"Federaatio","mrf_policies":"Aktivoidut MRF-säännöt","mrf_policies_desc":"MRF-säännöt muuttavat federaation toimintaa sivulla. Seuraavat säännöt ovat kytketty päälle:"},"staff":"Henkilökunta"},"domain_mute_card":{"mute":"Mykistä","unmute":"Poista mykistys","mute_progress":"Mykistetään…","unmute_progress":"Poistetaan mykistystä…"},"exporter":{"export":"Vie","processing":"Käsitellään, hetken päästä voit tallentaa tiedoston"},"image_cropper":{"crop_picture":"Rajaa kuva","save":"Tallenna","save_without_cropping":"Tallenna rajaamatta","cancel":"Peruuta"},"importer":{"submit":"Hyväksy","error":"Virhe tapahtui tietoja tuodessa.","success":"Tuonti onnistui."},"media_modal":{"previous":"Edellinen","next":"Seuraava"},"emoji":{"stickers":"Tarrat","emoji":"Emoji","keep_open":"Pidä valitsin auki","search_emoji":"Hae emojia","add_emoji":"Lisää emoji","custom":"Custom-emoji","load_all":"Ladataan kaikkia {emojiAmount} emojia","unicode":"Unicode-emoji","load_all_hint":"Ensimmäiset {saneAmount} emojia ladattu, kaikkien emojien lataaminen voi aiheuttaa hidastelua."},"remote_user_resolver":{"remote_user_resolver":"Ulkopuolinen käyttäjä","searching_for":"Etsitään käyttäjää","error":"Ei löytynyt."},"selectable_list":{"select_all":"Valitse kaikki"},"password_reset":{"check_email":"Tarkista sähköpostisi salasanannollausta varten.","instruction":"Syötä sähköpostiosoite tai käyttäjänimi. Lähetämme linkin salasanan nollausta varten.","password_reset_disabled":"Salasanan nollaus ei käytössä. Ota yhteyttä sivun ylläpitäjään.","password_reset_required_but_mailer_is_disabled":"Sinun täytyy vaihtaa salasana, mutta salasanan nollaus on pois käytöstä. Ota yhteyttä sivun ylläpitäjään.","forgot_password":"Unohditko salasanan?","password_reset":"Salasanan nollaus","placeholder":"Sähköpostiosoite tai käyttäjänimi","return_home":"Palaa etusivulle","too_many_requests":"Olet käyttänyt kaikki yritykset, yritä uudelleen myöhemmin.","password_reset_required":"Sinun täytyy vaihtaa salasana kirjautuaksesi."},"user_reporting":{"add_comment_description":"Tämä raportti lähetetään sivun moderaattoreille. Voit antaa selityksen miksi ilmiannoit tilin:","title":"Ilmiannetaan {0}","additional_comments":"Lisäkommentit","forward_description":"Tämä tili on toiselta palvelimelta. Lähetä kopio ilmiannosta sinnekin?","forward_to":"Lähetä eteenpäin: {0}","submit":"Lähetä","generic_error":"Virhe käsitellessä pyyntöä."},"search":{"people":"Käyttäjät","hashtags":"Aihetunnisteet","people_talking":"{0} käyttäjää puhuvat","person_talking":"{0} käyttäjä puhuu","no_results":"Ei tuloksia"},"errors":{"storage_unavailable":"Pleroma ei voinut käyttää selaimen muistia. Kirjautumisesi ja paikalliset asetukset eivät tallennu ja saatat kohdata odottamattomia ongelmia. Yritä sallia evästeet."}}')}}]); -//# sourceMappingURL=13.cdc076533397e24391bc.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[13],{606:function(t){t.exports=JSON.parse('{"chat":{"title":"Chat"},"features_panel":{"chat":"Chat","gopher":"Gopher","media_proxy":"Media-välityspalvelin","scope_options":"Näkyvyyden rajaus","text_limit":"Tekstin pituusraja","title":"Ominaisuudet","who_to_follow":"Seurausehdotukset"},"finder":{"error_fetching_user":"Virhe hakiessa käyttäjää","find_user":"Hae käyttäjä"},"general":{"apply":"Aseta","submit":"Lähetä","more":"Lisää","generic_error":"Virhe tapahtui","optional":"valinnainen","show_more":"Näytä lisää","show_less":"Näytä vähemmän","dismiss":"Sulje","cancel":"Peruuta","disable":"Poista käytöstä","confirm":"Hyväksy","verify":"Varmenna","enable":"Ota käyttöön","loading":"Ladataan…","error_retry":"Yritä uudelleen","retry":"Yritä uudelleen","close":"Sulje","peek":"Kurkkaa"},"login":{"login":"Kirjaudu sisään","description":"Kirjaudu sisään OAuthilla","logout":"Kirjaudu ulos","password":"Salasana","placeholder":"esim. Seppo","register":"Rekisteröidy","username":"Käyttäjänimi","hint":"Kirjaudu sisään liittyäksesi keskusteluun","authentication_code":"Todennuskoodi","enter_recovery_code":"Syötä palautuskoodi","recovery_code":"Palautuskoodi","heading":{"totp":"Monivaihetodennus","recovery":"Monivaihepalautus"},"enter_two_factor_code":"Syötä monivaihetodennuskoodi"},"nav":{"about":"Tietoja","back":"Takaisin","chat":"Paikallinen Chat","friend_requests":"Seurauspyynnöt","mentions":"Maininnat","interactions":"Interaktiot","dms":"Yksityisviestit","public_tl":"Julkinen Aikajana","timeline":"Aikajana","twkn":"Tunnettu Verkosto","user_search":"Käyttäjähaku","who_to_follow":"Seurausehdotukset","preferences":"Asetukset","administration":"Ylläpito","search":"Haku","bookmarks":"Kirjanmerkit"},"notifications":{"broken_favorite":"Viestiä ei löydetty…","favorited_you":"tykkäsi viestistäsi","followed_you":"seuraa sinua","load_older":"Lataa vanhempia ilmoituksia","notifications":"Ilmoitukset","read":"Lue!","repeated_you":"toisti viestisi","no_more_notifications":"Ei enempää ilmoituksia","reacted_with":"lisäsi reaktion {0}","migrated_to":"siirtyi sivulle","follow_request":"haluaa seurata sinua"},"polls":{"add_poll":"Lisää äänestys","add_option":"Lisää vaihtoehto","option":"Vaihtoehto","votes":"ääntä","vote":"Äänestä","type":"Äänestyksen tyyppi","single_choice":"Yksi valinta","multiple_choices":"Monivalinta","expiry":"Äänestyksen kesto","expires_in":"Päättyy {0} päästä","expired":"Päättyi {0} sitten","not_enough_option":"Liian vähän uniikkeja vaihtoehtoja äänestyksessä","not_enough_options":"Liian vähän ainutkertaisia vaihtoehtoja"},"interactions":{"favs_repeats":"Toistot ja tykkäykset","follows":"Uudet seuraukset","load_older":"Lataa vanhempia interaktioita","moves":"Käyttäjien siirtymiset"},"post_status":{"new_status":"Uusi viesti","account_not_locked_warning":"Tilisi ei ole {0}. Kuka vain voi seurata sinua nähdäksesi \'vain-seuraajille\' -viestisi.","account_not_locked_warning_link":"lukittu","attachments_sensitive":"Merkkaa liitteet arkaluonteisiksi","content_type":{"text/plain":"Tavallinen teksti","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},"content_warning":"Aihe (valinnainen)","default":"Tulin juuri saunasta.","direct_warning":"Tämä viesti näkyy vain mainituille käyttäjille.","posting":"Lähetetään","scope":{"direct":"Yksityisviesti - Näkyy vain mainituille käyttäjille","private":"Vain-seuraajille - Näkyy vain seuraajillesi","public":"Julkinen - Näkyy julkisilla aikajanoilla","unlisted":"Listaamaton - Ei näy julkisilla aikajanoilla"},"direct_warning_to_all":"Tämä viesti näkyy vain viestissä mainituille käyttäjille.","direct_warning_to_first_only":"Tämä viesti näkyy vain viestin alussa mainituille käyttäjille.","scope_notice":{"public":"Tämä viesti näkyy kaikille","private":"Tämä viesti näkyy vain sinun seuraajillesi","unlisted":"Tämä viesti ei näy Julkisella Aikajanalla tai Koko Tunnettu Verkosto -aikajanalla"},"preview":"Esikatselu","preview_empty":"Tyhjä","empty_status_error":"Tyhjää viestiä ilman tiedostoja ei voi lähettää","media_description":"Tiedoston kuvaus","media_description_error":"Tiedostojen päivitys epäonnistui, yritä uudelleen"},"registration":{"bio":"Kuvaus","email":"Sähköposti","fullname":"Koko nimi","password_confirm":"Salasanan vahvistaminen","registration":"Rekisteröityminen","token":"Kutsuvaltuus","captcha":"Varmenne","new_captcha":"Paina kuvaa saadaksesi uuden varmenteen","validations":{"username_required":"ei voi olla tyhjä","fullname_required":"ei voi olla tyhjä","email_required":"ei voi olla tyhjä","password_required":"ei voi olla tyhjä","password_confirmation_required":"ei voi olla tyhjä","password_confirmation_match":"pitää vastata salasanaa"},"username_placeholder":"esim. peke","fullname_placeholder":"esim. Pekka Postaaja","bio_placeholder":"esim.\\nHei, olen Pekka.\\nOlen esimerkkikäyttäjä tässä verkostossa."},"settings":{"attachmentRadius":"Liitteet","attachments":"Liitteet","avatar":"Profiilikuva","avatarAltRadius":"Profiilikuvat (ilmoitukset)","avatarRadius":"Profiilikuvat","background":"Tausta","bio":"Kuvaus","btnRadius":"Napit","cBlue":"Sininen (Vastaukset, seuraukset)","cGreen":"Vihreä (Toistot)","cOrange":"Oranssi (Tykkäykset)","cRed":"Punainen (Peruminen)","change_password":"Vaihda salasana","change_password_error":"Virhe vaihtaessa salasanaa.","changed_password":"Salasana vaihdettu!","collapse_subject":"Minimoi viestit, joille on asetettu aihe","composing":"Viestien laatiminen","confirm_new_password":"Vahvista uusi salasana","current_avatar":"Nykyinen profiilikuvasi","current_password":"Nykyinen salasana","current_profile_banner":"Nykyinen julisteesi","data_import_export_tab":"Tietojen tuonti / vienti","default_vis":"Oletusnäkyvyysrajaus","delete_account":"Poista tili","delete_account_description":"Poista tietosi ja lukitse tili pysyvästi.","delete_account_error":"Virhe poistaessa tiliäsi. Jos virhe jatkuu, ota yhteyttä palvelimesi ylläpitoon.","delete_account_instructions":"Syötä salasanasi vahvistaaksesi tilin poiston.","emoji_reactions_on_timeline":"Näytä emojireaktiot aikajanalla","export_theme":"Tallenna teema","filtering":"Suodatus","filtering_explanation":"Kaikki viestit, jotka sisältävät näitä sanoja, suodatetaan. Yksi sana per rivi.","follow_export":"Seurausten vienti","follow_export_button":"Vie seurauksesi CSV-tiedostoon","follow_export_processing":"Käsitellään, sinua pyydetään lataamaan tiedosto hetken päästä","follow_import":"Seurausten tuonti","follow_import_error":"Virhe tuodessa seuraksia","follows_imported":"Seuraukset tuotu! Niiden käsittely vie hetken.","foreground":"Etuala","general":"Yleinen","hide_attachments_in_convo":"Piilota liitteet keskusteluissa","hide_attachments_in_tl":"Piilota liitteet aikajanalla","max_thumbnails":"Suurin sallittu määrä liitteitä esikatselussa","hide_isp":"Piilota palvelimenkohtainen ruutu","preload_images":"Esilataa kuvat","use_one_click_nsfw":"Avaa NSFW-liitteet yhdellä painalluksella","hide_post_stats":"Piilota viestien statistiikka (esim. tykkäysten määrä)","hide_user_stats":"Piilota käyttäjien statistiikka (esim. seuraajien määrä)","import_followers_from_a_csv_file":"Tuo seuraukset CSV-tiedostosta","import_theme":"Tuo tallennettu teema","inputRadius":"Syöttökentät","checkboxRadius":"Valintalaatikot","instance_default":"(oletus: {value})","instance_default_simple":"(oletus)","interface":"Käyttöliittymä","interfaceLanguage":"Käyttöliittymän kieli","invalid_theme_imported":"Tuotu tallennettu teema on epäkelpo, muutoksia ei tehty nykyiseen teemaasi.","limited_availability":"Ei saatavilla selaimessasi","links":"Linkit","lock_account_description":"Vain erikseen hyväksytyt käyttäjät voivat seurata tiliäsi","loop_video":"Uudelleentoista videot","loop_video_silent_only":"Uudelleentoista ainoastaan äänettömät videot (Video-\\"giffit\\")","play_videos_in_modal":"Toista videot modaalissa","use_contain_fit":"Älä rajaa liitteitä esikatselussa","name":"Nimi","name_bio":"Nimi ja kuvaus","new_password":"Uusi salasana","notification_visibility":"Ilmoitusten näkyvyys","notification_visibility_follows":"Seuraukset","notification_visibility_likes":"Tykkäykset","notification_visibility_mentions":"Maininnat","notification_visibility_repeats":"Toistot","notification_visibility_emoji_reactions":"Reaktiot","no_rich_text_description":"Älä näytä tekstin muotoilua","hide_network_description":"Älä näytä seurauksiani tai seuraajiani","nsfw_clickthrough":"Piilota NSFW liitteet klikkauksen taakse","oauth_tokens":"OAuth-merkit","token":"Token","refresh_token":"Päivitä token","valid_until":"Voimassa asti","revoke_token":"Peruuta","panelRadius":"Ruudut","pause_on_unfocused":"Pysäytä automaattinen viestien näyttö välilehden ollessa pois fokuksesta","presets":"Valmiit teemat","profile_background":"Taustakuva","profile_banner":"Juliste","profile_tab":"Profiili","radii_help":"Aseta reunojen pyöristys (pikseleinä)","replies_in_timeline":"Keskustelut aikajanalla","reply_visibility_all":"Näytä kaikki vastaukset","reply_visibility_following":"Näytä vain vastaukset minulle tai seuraamilleni käyttäjille","reply_visibility_self":"Näytä vain vastaukset minulle","saving_err":"Virhe tallentaessa asetuksia","saving_ok":"Asetukset tallennettu","security_tab":"Tietoturva","scope_copy":"Kopioi näkyvyysrajaus vastatessa (Yksityisviestit aina kopioivat)","set_new_avatar":"Aseta uusi profiilikuva","set_new_profile_background":"Aseta uusi taustakuva","set_new_profile_banner":"Aseta uusi juliste","settings":"Asetukset","subject_input_always_show":"Näytä aihe-kenttä","subject_line_behavior":"Aihe-kentän kopiointi","subject_line_email":"Kuten sähköposti: \\"re: aihe\\"","subject_line_mastodon":"Kopioi sellaisenaan","subject_line_noop":"Älä kopioi","stop_gifs":"Toista giffit vain kohdistaessa","streaming":"Näytä uudet viestit automaattisesti ollessasi ruudun huipulla","text":"Teksti","theme":"Teema","theme_help":"Käytä heksadesimaalivärejä muokataksesi väriteemaasi.","theme_help_v2_1":"Voit asettaa tiettyjen osien värin tai läpinäkyvyyden täyttämällä valintalaatikon, käytä \\"Tyhjennä kaikki\\"-nappia tyhjentääksesi kaiken.","theme_help_v2_2":"Ikonit kenttien alla ovat kontrasti-indikaattoreita, lisätietoa kohdistamalla. Käyttäessä läpinäkyvyyttä ne näyttävät pahimman skenaarion.","tooltipRadius":"Ohje- tai huomioviestit","user_settings":"Käyttäjän asetukset","values":{"false":"pois päältä","true":"päällä"},"hide_follows_description":"Älä näytä ketä seuraan","show_moderator_badge":"Näytä Moderaattori-merkki profiilissani","useStreamingApi":"Vastaanota viestiejä ja ilmoituksia reaaliajassa","notification_setting_filters":"Suodattimet","notification_setting_privacy_option":"Piilota lähettäjä ja sisältö sovelluksen ulkopuolisista ilmoituksista","enable_web_push_notifications":"Ota käyttöön sovelluksen ulkopuoliset ilmoitukset","app_name":"Sovelluksen nimi","security":"Turvallisuus","mfa":{"otp":"OTP","setup_otp":"OTP-asetukset","wait_pre_setup_otp":"esiasetetaan OTP:ta","confirm_and_enable":"Hyväksy ja käytä OTP","title":"Monivaihetodennus","generate_new_recovery_codes":"Luo uudet palautuskoodit","authentication_methods":"Todennus","warning_of_generate_new_codes":"Luodessasi uudet palautuskoodit, vanhat koodisi lakkaavat toimimasta.","recovery_codes":"Palautuskoodit.","waiting_a_recovery_codes":"Odotetaan palautuskoodeja…","recovery_codes_warning":"Kirjoita koodit ylös tai tallenna ne turvallisesti, muuten et näe niitä uudestaan. Jos et voi käyttää monivaihetodennusta ja sinulla ei ole palautuskoodeja, et voi enää kirjautua sisään tilillesi.","scan":{"title":"Skannaa","secret_code":"Avain","desc":"Käytä monivaihetodennus-sovellusta skannakksesi tämän QR-kooding, tai syötä avain:"},"verify":{"desc":"Kytkeäksesi päälle monivaihetodennuksen, syötä koodi monivaihetodennussovellksesta:"}},"allow_following_move":"Salli automaattinen seuraaminen kun käyttäjä siirtää tilinsä","block_export":"Estojen vienti","block_export_button":"Vie estosi CSV-tiedostoon","block_import":"Estojen tuonti","block_import_error":"Virhe tuodessa estoja","blocks_imported":"Estot tuotu! Käsittely vie hetken.","blocks_tab":"Estot","change_email":"Vaihda sähköpostiosoite","change_email_error":"Virhe vaihtaessa sähköpostiosoitetta.","changed_email":"Sähköpostiosoite vaihdettu!","domain_mutes":"Sivut","avatar_size_instruction":"Suositeltu vähimmäiskoko profiilikuville on 150x150 pikseliä.","accent":"Korostus","hide_muted_posts":"Piilota mykistettyjen käyttäjien viestit","hide_filtered_statuses":"Piilota mykistetyt viestit","import_blocks_from_a_csv_file":"Tuo estot CSV-tiedostosta","no_blocks":"Ei estoja","no_mutes":"Ei mykistyksiä","notification_visibility_moves":"Käyttäjien siirtymiset","hide_followers_description":"Älä näytä ketkä seuraavat minua","hide_follows_count_description":"Älä näytä seurauksien määrää","hide_followers_count_description":"Älä näytä seuraajien määrää","show_admin_badge":"Näytä Ylläpitäjä-merkki proofilissani","autohide_floating_post_button":"Piilota Uusi Viesti -nappi automaattisesti (mobiili)","search_user_to_block":"Hae estettäviä käyttäjiä","search_user_to_mute":"Hae mykistettäviä käyttäjiä","minimal_scopes_mode":"Yksinkertaista näkyvyydenrajauksen vaihtoehdot","post_status_content_type":"Uuden viestin sisällön muoto","user_mutes":"Käyttäjät","useStreamingApiWarning":"(Kokeellinen)","type_domains_to_mute":"Etsi mykistettäviä sivustoja","upload_a_photo":"Lataa kuva","fun":"Hupi","greentext":"Meeminuolet","notifications":"Ilmoitukset","style":{"switcher":{"save_load_hint":"\\"Säilytä\\" asetukset säilyttävät tällä hetkellä asetetut asetukset valittaessa tai ladatessa teemaa, se myös tallentaa kyseiset asetukset viedessä teemaa. Kun kaikki laatikot ovat tyhjänä, viety teema tallentaa kaiken.","help":{"older_version_imported":"Tuomasi tiedosto on luotu vanhemmalla versiolla.","fe_upgraded":"PleromaFE:n teemaus päivitetty versiopäivityksen yhteydessä.","migration_snapshot_ok":"Varmuuden vuoksi teeman kaappaus ladattu. Voit koittaa ladata teeman sisällön.","migration_napshot_gone":"Jostain syystä teeman kaappaus puuttuu, kaikki asiat eivät välttämättä näytä oikealta.","snapshot_source_mismatch":"Versiot eivät täsmää: todennäköisesti versio vaihdettu vanhempaan ja päivitetty uudestaan, jos vaihdoit teemaa vanhalla versiolla, sinun tulisi käyttää vanhaa versiota, muutoin uutta.","upgraded_from_v2":"PleromaFE on päivitetty, teemasi saattaa näyttää erilaiselta kuin muistat.","v2_imported":"Tuomasi tiedosto on luotu vanhemmalla versiolla. Yhteensopivuus ei välttämättä ole täydellinen.","future_version_imported":"Tuomasi tiedosto on luotu uudemmalla versiolla.","snapshot_present":"Teeman kaappaus ladattu, joten kaikki arvot ovat ylikirjoitettu. Voit sen sijaan ladata teeman sisällön.","snapshot_missing":"Teeman kaappausta ei tiedostossa, joten se voi näyttää erilaiselta kuin suunniteltu.","fe_downgraded":"PleromaFE:n versio vaihtunut vanhempaan."},"keep_color":"Säilytä värit","keep_shadows":"Säilytä varjot","keep_opacity":"Säilytä läpinäkyvyys","keep_roundness":"Säilytä pyöristys","keep_fonts":"Säilytä fontit","reset":"Palauta","clear_all":"Tyhjennä kaikki","clear_opacity":"Tyhjennä läpinäkyvyys","load_theme":"Lataa teema","keep_as_is":"Pidä sellaisenaan","use_snapshot":"Vanha","use_source":"Uusi"},"advanced_colors":{"selectedPost":"Valittu viesti","_tab_label":"Edistynyt","alert":"Varoituksen tausta","alert_error":"Virhe","alert_warning":"Varoitus","alert_neutral":"Neutraali","post":"Viestit/Käyttäjien kuvaukset","badge":"Merkin tausta","badge_notification":"Ilmoitus","panel_header":"Ruudun otsikko","top_bar":"Yläpalkki","borders":"Reunat","buttons":"Napit","inputs":"Syöttökentät","faint_text":"Häivytetty teksti","underlay":"Taustapeite","poll":"Äänestyksen kuvaaja","icons":"Ikonit","highlight":"Korostetut elementit","pressed":"Painettu","selectedMenu":"Valikon valinta","disabled":"Pois käytöstä","toggled":"Kytketty","tabs":"Välilehdet","popover":"Työkaluvinkit, valikot, ponnahdusviestit"},"common":{"color":"Väri","opacity":"Läpinäkyvyys","contrast":{"level":{"aaa":"saavuttaa AAA-tason (suositeltu)","aa":"saavuttaa AA-tason (minimi)","bad":"ei saavuta mitään helppokäyttöisyyssuosituksia"},"hint":"Kontrastisuhde on {ratio}, se {level} {context}","context":{"18pt":"suurella (18pt+) tekstillä","text":"tekstillä"}}},"common_colors":{"_tab_label":"Yleinen","main":"Yleiset värit","foreground_hint":"Löydät \\"Edistynyt\\"-välilehdeltä tarkemmat asetukset","rgbo":"Ikonit, korostukset, merkit"},"shadows":{"filter_hint":{"always_drop_shadow":"Varoitus, tämä varjo käyttää aina {0} kun selain tukee sitä.","avatar_inset":"Huom. sisennettyjen ja ei-sisennettyjen varjojen yhdistelmät saattavat luoda ei-odotettuja lopputuloksia läpinäkyvillä profiilikuvilla.","drop_shadow_syntax":"{0} ei tue {1} parametria ja {2} avainsanaa.","spread_zero":"Varjot joiden levitys > 0 näyttävät samalta kuin se olisi nolla","inset_classic":"Sisennetyt varjot käyttävät {0}"},"components":{"buttonPressedHover":"Nappi (painettu ja kohdistettu)","panel":"Ruutu","panelHeader":"Ruudun otsikko","topBar":"Yläpalkki","avatar":"Profiilikuva (profiilinäkymässä)","avatarStatus":"Profiilikuva (viestin yhtyedessä)","popup":"Ponnahdusviestit ja työkaluvinkit","button":"Nappi","buttonHover":"Nappi (kohdistus)","buttonPressed":"Nappi (painettu)","input":"Syöttökenttä"},"hintV3":"Voit käyttää {0} merkintää varjoille käyttääksesi väriä toisesta asetuksesta.","_tab_label":"Valo ja varjostus","component":"Komponentti","override":"Ylikirjoita","shadow_id":"Varjo #{value}","blur":"Sumennus","spread":"Levitys","inset":"Sisennys"},"fonts":{"help":"Valitse fontti käyttöliittymälle. \\"Oma\\"-vaihtohdolle on syötettävä fontin nimi tarkalleen samana kuin se on järjestelmässäsi.","_tab_label":"Fontit","components":{"interface":"Käyttöliittymä","input":"Syöttökentät","post":"Viestin teksti","postCode":"Tasavälistetty teksti viestissä"},"family":"Fontin nimi","size":"Koko (pikseleissä)","weight":"Painostus (paksuus)","custom":"Oma"},"preview":{"input":"Tulin juuri saunasta.","header":"Esikatselu","content":"Sisältö","error":"Esimerkkivirhe","button":"Nappi","text":"Vähän lisää {0} ja {1}","mono":"sisältöä","faint_link":"manuaali","fine_print":"Lue meidän {0} vaikka huvin vuoksi!","header_faint":"Tämä on OK","checkbox":"Olen silmäillyt käyttöehdot","link":"kiva linkki"},"radii":{"_tab_label":"Pyöristys"}},"enter_current_password_to_confirm":"Syötä nykyinen salasanasi todentaaksesi henkilöllisyytesi","discoverable":"Salli tilisi näkyvyys hakukoneisiin ja muihin palveluihin","pad_emoji":"Välistä emojit välilyönneillä lisätessäsi niitä valitsimesta","mutes_tab":"Mykistykset","new_email":"Uusi sähköpostiosoite","notification_setting_privacy":"Yksityisyys","notification_mutes":"Jos et halua ilmoituksia joltain käyttäjältä, käytä mykistystä.","notification_blocks":"Estäminen pysäyttää kaikki ilmoitukset käyttäjältä ja poistaa seurauksen.","version":{"title":"Versio","backend_version":"Palvelimen versio","frontend_version":"Käyttöliittymän versio"},"reset_profile_background":"Nollaa taustakuva","reset_background_confirm":"Haluatko todella nollata taustakuvan?","mutes_and_blocks":"Mykistykset ja Estot","bot":"Tämä on bottitili","profile_fields":{"label":"Profiilin metatiedot","add_field":"Lisää kenttä","name":"Nimi","value":"Sisältö"},"reset_avatar":"Nollaa profiilikuva","reset_profile_banner":"Nollaa profiilin tausta","reset_avatar_confirm":"Haluatko todella nollata profiilikuvan?","reset_banner_confirm":"Haluatko todella nollata profiilin taustan?"},"time":{"day":"{0} päivä","days":"{0} päivää","day_short":"{0}pv","days_short":"{0}pv","hour":"{0} tunti","hours":"{0} tuntia","hour_short":"{0}t","hours_short":"{0}t","in_future":"{0} tulevaisuudessa","in_past":"{0} sitten","minute":"{0} minuutti","minutes":"{0} minuuttia","minute_short":"{0}min","minutes_short":"{0}min","month":"{0} kuukausi","months":"{0} kuukautta","month_short":"{0}kk","months_short":"{0}kk","now":"juuri nyt","now_short":"nyt","second":"{0} sekunti","seconds":"{0} sekuntia","second_short":"{0}s","seconds_short":"{0}s","week":"{0} viikko","weeks":"{0} viikkoa","week_short":"{0}vk","weeks_short":"{0}vk","year":"{0} vuosi","years":"{0} vuotta","year_short":"{0}v","years_short":"{0}v"},"timeline":{"collapse":"Sulje","conversation":"Keskustelu","error_fetching":"Virhe ladatessa viestejä","load_older":"Lataa vanhempia viestejä","no_retweet_hint":"Viesti ei ole julkinen, eikä sitä voi toistaa","repeated":"toisti","show_new":"Näytä uudet","up_to_date":"Ajantasalla","no_more_statuses":"Ei enempää viestejä","no_statuses":"Ei viestejä","reload":"Päivitä"},"status":{"favorites":"Tykkäykset","repeats":"Toistot","delete":"Poista","pin":"Kiinnitä profiiliisi","unpin":"Poista kiinnitys","pinned":"Kiinnitetty","delete_confirm":"Haluatko varmasti postaa viestin?","reply_to":"Vastaus","replies_list":"Vastaukset:","mute_conversation":"Mykistä keskustelu","unmute_conversation":"Poista mykistys","status_unavailable":"Viesti ei saatavissa","copy_link":"Kopioi linkki","bookmark":"Lisää kirjanmerkkeihin","unbookmark":"Poista kirjanmerkeistä","thread_muted":"Keskustelu mykistetty","thread_muted_and_words":", sisältää sanat:","show_full_subject":"Näytä koko otsikko","hide_full_subject":"Piilota koko otsikko","show_content":"Näytä sisältö","hide_content":"Piilota sisältö","status_deleted":"Poistettu viesti","you":"(sinä)"},"user_card":{"approve":"Hyväksy","block":"Estä","blocked":"Estetty!","deny":"Älä hyväksy","follow":"Seuraa","follow_sent":"Pyyntö lähetetty!","follow_progress":"Pyydetään…","follow_unfollow":"Älä seuraa","followees":"Seuraa","followers":"Seuraajat","following":"Seuraat!","follows_you":"Seuraa sinua!","its_you":"Sinun tili!","mute":"Mykistä","muted":"Mykistetty","per_day":"päivässä","remote_follow":"Seuraa muualta","statuses":"Viestit","hidden":"Piilotettu","media":"Media","block_progress":"Estetään…","admin_menu":{"grant_admin":"Anna Ylläpitöoikeudet","force_nsfw":"Merkitse kaikki viestit NSFW:nä","disable_any_subscription":"Estä käyttäjän seuraaminen","moderation":"Moderaatio","revoke_admin":"Poista Ylläpitöoikeudet","grant_moderator":"Anna Moderaattorioikeudet","revoke_moderator":"Poista Moderaattorioikeudet","activate_account":"Aktivoi tili","deactivate_account":"Deaktivoi tili","delete_account":"Poista tili","strip_media":"Poista media viesteistä","force_unlisted":"Pakota viestit listaamattomiksi","sandbox":"Pakota viestit vain seuraajille","disable_remote_subscription":"Estä seuraaminen ulkopuolisilta sivuilta","quarantine":"Estä käyttäjän viestin federoituminen","delete_user":"Poista käyttäjä","delete_user_confirmation":"Oletko aivan varma? Tätä ei voi kumota."},"favorites":"Tykkäykset","mention":"Mainitse","report":"Ilmianna","subscribe":"Tilaa","unsubscribe":"Poista tilaus","unblock":"Poista esto","unblock_progress":"Poistetaan estoa…","unmute":"Poista mykistys","unmute_progress":"Poistetaan mykistystä…","mute_progress":"Mykistetään…","hide_repeats":"Piilota toistot","show_repeats":"Näytä toistot"},"user_profile":{"timeline_title":"Käyttäjän aikajana","profile_does_not_exist":"Tätä profiilia ei ole.","profile_loading_error":"Virhe ladatessa profiilia."},"who_to_follow":{"more":"Lisää","who_to_follow":"Seurausehdotukset"},"tool_tip":{"media_upload":"Lataa tiedosto","repeat":"Toista","reply":"Vastaa","favorite":"Tykkää","user_settings":"Käyttäjäasetukset","add_reaction":"Lisää Reaktio","accept_follow_request":"Hyväksy seurauspyyntö","reject_follow_request":"Hylkää seurauspyyntö","bookmark":"Kirjanmerkki"},"upload":{"error":{"base":"Lataus epäonnistui.","file_too_big":"Tiedosto liian suuri [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","default":"Yritä uudestaan myöhemmin"},"file_size_units":{"B":"tavua","KiB":"kt","MiB":"Mt","GiB":"Gt","TiB":"Tt"}},"about":{"mrf":{"keyword":{"keyword_policies":"Avainsanasäännöt","ftl_removal":"Poistettu \\"Koko Tunnettu Verkosto\\" -aikajanalta","reject":"Hylkää","replace":"Korvaa","is_replaced_by":"→"},"simple":{"accept":"Hyväksy","reject":"Hylkää","quarantine":"Karanteeni","ftl_removal":"Poisto \\"Koko Tunnettu Verkosto\\" -aikajanalta","media_removal":"Media-tiedostojen poisto","simple_policies":"Palvelinkohtaiset Säännöt","accept_desc":"Tämä palvelin hyväksyy viestit vain seuraavilta palvelimilta:","reject_desc":"Tämä palvelin ei hyväksy viestejä seuraavilta palvelimilta:","quarantine_desc":"Tämä palvelin lähettää vain julkisia viestejä seuraaville palvelimille:","ftl_removal_desc":"Tämä palvelin poistaa nämä palvelimet \\"Koko Tunnettu Verkosto\\"-aikajanalta:","media_removal_desc":"Tämä palvelin postaa mediatiedostot viesteistä seuraavilta palvelimilta:","media_nsfw":"Pakota Media Arkaluontoiseksi","media_nsfw_desc":"Tämä palvelin pakottaa mediatiedostot arkaluonteisiksi seuraavilta palvelimilta:"},"federation":"Federaatio","mrf_policies":"Aktivoidut MRF-säännöt","mrf_policies_desc":"MRF-säännöt muuttavat federaation toimintaa sivulla. Seuraavat säännöt ovat kytketty päälle:"},"staff":"Henkilökunta"},"domain_mute_card":{"mute":"Mykistä","unmute":"Poista mykistys","mute_progress":"Mykistetään…","unmute_progress":"Poistetaan mykistystä…"},"exporter":{"export":"Vie","processing":"Käsitellään, hetken päästä voit tallentaa tiedoston"},"image_cropper":{"crop_picture":"Rajaa kuva","save":"Tallenna","save_without_cropping":"Tallenna rajaamatta","cancel":"Peruuta"},"importer":{"submit":"Hyväksy","error":"Virhe tapahtui tietoja tuodessa.","success":"Tuonti onnistui."},"media_modal":{"previous":"Edellinen","next":"Seuraava"},"emoji":{"stickers":"Tarrat","emoji":"Emoji","keep_open":"Pidä valitsin auki","search_emoji":"Hae emojia","add_emoji":"Lisää emoji","custom":"Custom-emoji","load_all":"Ladataan kaikkia {emojiAmount} emojia","unicode":"Unicode-emoji","load_all_hint":"Ensimmäiset {saneAmount} emojia ladattu, kaikkien emojien lataaminen voi aiheuttaa hidastelua."},"remote_user_resolver":{"remote_user_resolver":"Ulkopuolinen käyttäjä","searching_for":"Etsitään käyttäjää","error":"Ei löytynyt."},"selectable_list":{"select_all":"Valitse kaikki"},"password_reset":{"check_email":"Tarkista sähköpostisi salasanannollausta varten.","instruction":"Syötä sähköpostiosoite tai käyttäjänimi. Lähetämme linkin salasanan nollausta varten.","password_reset_disabled":"Salasanan nollaus ei käytössä. Ota yhteyttä sivun ylläpitäjään.","password_reset_required_but_mailer_is_disabled":"Sinun täytyy vaihtaa salasana, mutta salasanan nollaus on pois käytöstä. Ota yhteyttä sivun ylläpitäjään.","forgot_password":"Unohditko salasanan?","password_reset":"Salasanan nollaus","placeholder":"Sähköpostiosoite tai käyttäjänimi","return_home":"Palaa etusivulle","too_many_requests":"Olet käyttänyt kaikki yritykset, yritä uudelleen myöhemmin.","password_reset_required":"Sinun täytyy vaihtaa salasana kirjautuaksesi."},"user_reporting":{"add_comment_description":"Tämä raportti lähetetään sivun moderaattoreille. Voit antaa selityksen miksi ilmiannoit tilin:","title":"Ilmiannetaan {0}","additional_comments":"Lisäkommentit","forward_description":"Tämä tili on toiselta palvelimelta. Lähetä kopio ilmiannosta sinnekin?","forward_to":"Lähetä eteenpäin: {0}","submit":"Lähetä","generic_error":"Virhe käsitellessä pyyntöä."},"search":{"people":"Käyttäjät","hashtags":"Aihetunnisteet","people_talking":"{0} käyttäjää puhuvat","person_talking":"{0} käyttäjä puhuu","no_results":"Ei tuloksia"},"errors":{"storage_unavailable":"Pleroma ei voinut käyttää selaimen muistia. Kirjautumisesi ja paikalliset asetukset eivät tallennu ja saatat kohdata odottamattomia ongelmia. Yritä sallia evästeet."}}')}}]); +//# sourceMappingURL=13.99621e6c47936075b44d.js.map \ No newline at end of file diff --git a/priv/static/static/js/10.fdbf093cc5602ca4f2e1.js.map b/priv/static/static/js/13.99621e6c47936075b44d.js.map similarity index 56% rename from priv/static/static/js/10.fdbf093cc5602ca4f2e1.js.map rename to priv/static/static/js/13.99621e6c47936075b44d.js.map index 978f9e54d..eb79bff03 100644 --- a/priv/static/static/js/10.fdbf093cc5602ca4f2e1.js.map +++ b/priv/static/static/js/13.99621e6c47936075b44d.js.map @@ -1 +1 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/10.fdbf093cc5602ca4f2e1.js","sourceRoot":""} \ No newline at end of file +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/13.99621e6c47936075b44d.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/14.4e05e7c284119777ecc5.js b/priv/static/static/js/14.4e05e7c284119777ecc5.js new file mode 100644 index 000000000..6f5728bf6 --- /dev/null +++ b/priv/static/static/js/14.4e05e7c284119777ecc5.js @@ -0,0 +1,2 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{607:function(e){e.exports=JSON.parse('{"chat":{"title":"Chat"},"exporter":{"export":"Exporter","processing":"En cours de traitement, vous pourrez bientôt télécharger votre fichier"},"features_panel":{"chat":"Chat","gopher":"Gopher","media_proxy":"Proxy pièce-jointes","scope_options":"Options de visibilité","text_limit":"Limite du texte","title":"Fonctionnalités","who_to_follow":"Suggestions de suivis","pleroma_chat_messages":"Chat Pleroma","upload_limit":"Limite de téléversement"},"finder":{"error_fetching_user":"Erreur lors de la recherche du compte","find_user":"Rechercher un compte"},"general":{"apply":"Appliquer","submit":"Envoyer","more":"Plus","generic_error":"Une erreur s\'est produite","optional":"optionnel","show_more":"Afficher plus","show_less":"Afficher moins","cancel":"Annuler","disable":"Désactiver","enable":"Activer","confirm":"Confirmer","verify":"Vérifier","dismiss":"Ignorer","peek":"Jeter un coup d\'œil","close":"Fermer","retry":"Réessayez","error_retry":"Veuillez réessayer","loading":"Chargement…","role":{"moderator":"Modo\'","admin":"Admin"},"flash_content":"Clique pour afficher le contenu Flash avec Ruffle (Expérimental, peut ne pas fonctionner).","flash_security":"Cela reste potentiellement dangereux, Flash restant du code arbitraire.","flash_fail":"Échec de chargement du contenu Flash, voir la console pour les détails."},"image_cropper":{"crop_picture":"Rogner l\'image","save":"Sauvegarder","save_without_cropping":"Sauvegarder sans rogner","cancel":"Annuler"},"importer":{"submit":"Envoyer","success":"Importé avec succès.","error":"Une erreur est survenue pendant l\'import de ce fichier."},"login":{"login":"Connexion","description":"Connexion avec OAuth","logout":"Déconnexion","password":"Mot de passe","placeholder":"ex. lain","register":"S\'inscrire","username":"Identifiant","hint":"Connectez-vous pour rejoindre la discussion","authentication_code":"Code d\'authentification","enter_recovery_code":"Entrez un code de récupération","enter_two_factor_code":"Entrez un code double-facteur","recovery_code":"Code de récupération","heading":{"totp":"Authentification à double-facteur","recovery":"Récupération de l\'authentification à double-facteur"}},"media_modal":{"previous":"Précédent","next":"Suivant"},"nav":{"about":"À propos","back":"Retour","chat":"Chat local","friend_requests":"Demandes de suivi","mentions":"Mentions","interactions":"Interactions","dms":"Messages directs","public_tl":"Flux publique","timeline":"Flux personnel","twkn":"Réseau connu","user_search":"Recherche de comptes","who_to_follow":"Suggestion de suivit","preferences":"Préférences","search":"Recherche","administration":"Administration","chats":"Chats","bookmarks":"Marques-Pages","timelines":"Flux","home_timeline":"Flux personnel"},"notifications":{"broken_favorite":"Message inconnu, recherche en cours…","favorited_you":"a aimé votre statut","followed_you":"vous suit","load_older":"Charger les notifications précédentes","notifications":"Notifications","read":"Lu !","repeated_you":"a partagé votre statut","no_more_notifications":"Aucune notification supplémentaire","migrated_to":"a migré à","reacted_with":"a réagi avec {0}","follow_request":"veut vous suivre","error":"Erreur de chargement des notifications : {0}"},"interactions":{"favs_repeats":"Partages et favoris","follows":"Nouveaux suivis","load_older":"Chargez d\'anciennes interactions","moves":"Migrations de comptes"},"post_status":{"new_status":"Poster un nouveau statut","account_not_locked_warning":"Votre compte n\'est pas {0}. N\'importe qui peut vous suivre pour voir vos billets en Abonné·e·s uniquement.","account_not_locked_warning_link":"verrouillé","attachments_sensitive":"Marquer les pièce-jointes comme sensible","content_type":{"text/plain":"Texte brut","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},"content_warning":"Sujet (optionnel)","default":"Je viens d\'atterrir en Tchéquie.","direct_warning_to_all":"Ce message sera visible pour toutes les personnes mentionnées.","direct_warning_to_first_only":"Ce message sera visible uniquement pour personnes mentionnées au début du message.","posting":"Envoi en cours","scope_notice":{"public":"Ce statut sera visible par tout le monde","private":"Ce statut sera visible par seulement vos abonné⋅e⋅s","unlisted":"Ce statut ne sera pas visible dans le Flux Public et le Flux Fédéré"},"scope":{"direct":"Direct - N\'envoyer qu\'aux personnes mentionnées","private":"Abonné·e·s uniquement - Seul·e·s vos abonné·e·s verront vos status","public":"Publique - Afficher dans les flux publics","unlisted":"Non-Listé - Ne pas afficher dans les flux publics"},"media_description_error":"Échec de téléversement du media, essayez encore","empty_status_error":"Impossible de poster un statut vide sans pièces-jointes","preview_empty":"Vide","preview":"Prévisualisation","media_description":"Description de la pièce-jointe","post":"Post"},"registration":{"bio":"Biographie","email":"Courriel","fullname":"Pseudonyme","password_confirm":"Confirmation du mot de passe","registration":"Inscription","token":"Jeton d\'invitation","captcha":"CAPTCHA","new_captcha":"Cliquez sur l\'image pour avoir un nouveau captcha","username_placeholder":"ex. lain","fullname_placeholder":"ex. Lain Iwakura","bio_placeholder":"ex.\\nSalut, je suis Lain\\nJe suis une héroïne d\'animation qui vit dans une banlieue japonaise. Vous me connaissez peut-être du Wired.","validations":{"username_required":"ne peut pas être laissé vide","fullname_required":"ne peut pas être laissé vide","email_required":"ne peut pas être laissé vide","password_required":"ne peut pas être laissé vide","password_confirmation_required":"ne peut pas être laissé vide","password_confirmation_match":"doit être identique au mot de passe"},"reason_placeholder":"Cette instance modère les inscriptions manuellement.\\nExpliquer ce qui motive votre inscription à l\'administration.","reason":"Motivation d\'inscription","register":"Enregistrer"},"selectable_list":{"select_all":"Tout selectionner"},"settings":{"app_name":"Nom de l\'application","security":"Sécurité","enter_current_password_to_confirm":"Entrez votre mot de passe actuel pour confirmer votre identité","mfa":{"otp":"OTP","setup_otp":"Configurer OTP","wait_pre_setup_otp":"préconfiguration OTP","confirm_and_enable":"Confirmer & activer OTP","title":"Authentification double-facteur","generate_new_recovery_codes":"Générer de nouveaux codes de récupération","warning_of_generate_new_codes":"Quand vous générez de nouveaux codes de récupération, vos anciens codes ne fonctionnerons plus.","recovery_codes":"Codes de récupération.","waiting_a_recovery_codes":"Réception des codes de récupération…","recovery_codes_warning":"Écrivez ces codes ou sauvegardez les dans un endroit sécurisé - sinon vous ne les verrez plus jamais. Si vous perdez l\'accès à votre application de double authentification et codes de récupération vous serez verrouillé en dehors de votre compte.","authentication_methods":"Méthodes d\'authentification","scan":{"title":"Scanner","desc":"En utilisant votre application d\'authentification à double-facteur, scannez ce QR code ou entrez la clé textuelle :","secret_code":"Clé"},"verify":{"desc":"Pour activer l\'authentification à double-facteur, entrez le code donné par votre application :"}},"attachmentRadius":"Pièces jointes","attachments":"Pièces jointes","avatar":"Avatar","avatarAltRadius":"Avatars (Notifications)","avatarRadius":"Avatars","background":"Arrière-plan","bio":"Biographie","block_export":"Export des comptes bloqués","block_export_button":"Export des comptes bloqués vers un fichier CSV","block_import":"Import des comptes bloqués","block_import_error":"Erreur lors de l\'import des comptes bloqués","blocks_imported":"Blocages importés ! Le traitement va prendre un moment.","blocks_tab":"Bloqué·e·s","btnRadius":"Boutons","cBlue":"Bleu (répondre, suivre)","cGreen":"Vert (partager)","cOrange":"Orange (aimer)","cRed":"Rouge (annuler)","change_password":"Changez votre mot de passe","change_password_error":"Il y a eu un problème pour changer votre mot de passe.","changed_password":"Mot de passe modifié avec succès !","collapse_subject":"Réduire les messages avec des sujets","composing":"Composition","confirm_new_password":"Confirmation du nouveau mot de passe","current_avatar":"Avatar actuel","current_password":"Mot de passe actuel","current_profile_banner":"Bannière de profil actuelle","data_import_export_tab":"Import / Export des Données","default_vis":"Visibilité par défaut","delete_account":"Supprimer le compte","delete_account_description":"Supprimer définitivement vos données et désactiver votre compte.","delete_account_error":"Il y a eu un problème lors de la tentative de suppression de votre compte. Si le problème persiste, contactez l\'administration de cette instance.","delete_account_instructions":"Indiquez votre mot de passe ci-dessous pour confirmer la suppression de votre compte.","avatar_size_instruction":"La taille minimale recommandée pour l\'image de l\'avatar est de 150x150 pixels.","export_theme":"Enregistrer le thème","filtering":"Filtrage","filtering_explanation":"Tous les statuts contenant ces mots seront masqués. Un mot par ligne","follow_export":"Exporter les suivis","follow_export_button":"Exporter les suivis dans un fichier CSV","follow_import":"Import des suivis","follow_import_error":"Erreur lors de l\'importation des suivis","follows_imported":"Suivis importés ! Le traitement peut prendre un moment.","foreground":"Premier plan","general":"Général","hide_attachments_in_convo":"Masquer les pièces jointes dans les conversations","hide_attachments_in_tl":"Masquer les pièces jointes dans le flux","hide_muted_posts":"Masquer les statuts des comptes masqués","max_thumbnails":"Nombre maximum de miniatures par statuts","hide_isp":"Masquer le panneau de l\'instance","preload_images":"Précharger les images","use_one_click_nsfw":"Ouvrir les pièces-jointes sensibles avec un seul clic","hide_post_stats":"Masquer les statistiques des messages (ex. le nombre de favoris)","hide_user_stats":"Masquer les statistiques de compte (ex. le nombre de suivis)","hide_filtered_statuses":"Masquer les statuts filtrés","import_blocks_from_a_csv_file":"Import de blocages depuis un fichier CSV","import_followers_from_a_csv_file":"Import de suivis depuis un fichier CSV","import_theme":"Charger le thème","inputRadius":"Champs de texte","checkboxRadius":"Cases à cocher","instance_default":"(default : {value})","instance_default_simple":"(default)","interface":"Interface","interfaceLanguage":"Langue de l\'interface","invalid_theme_imported":"Le fichier sélectionné n\'est pas un thème Pleroma pris en charge. Aucun changement n\'a été apporté à votre thème.","limited_availability":"Non disponible dans votre navigateur","links":"Liens","lock_account_description":"Limitez votre compte aux abonnés acceptés uniquement","loop_video":"Vidéos en boucle","loop_video_silent_only":"Boucle uniquement les vidéos sans le son (les « gifs » de Mastodon)","mutes_tab":"Comptes silenciés","play_videos_in_modal":"Jouer les vidéos directement dans le visionneur de médias","use_contain_fit":"Ne pas rogner les miniatures des pièces-jointes","name":"Nom","name_bio":"Nom & Bio","new_password":"Nouveau mot de passe","notification_visibility":"Types de notifications à afficher","notification_visibility_follows":"Suivis","notification_visibility_likes":"Favoris","notification_visibility_mentions":"Mentionnés","notification_visibility_repeats":"Partages","no_rich_text_description":"Ne formatez pas le texte","no_blocks":"Aucun bloqués","no_mutes":"Aucun masqués","hide_follows_description":"Ne pas afficher à qui je suis abonné","hide_followers_description":"Ne pas afficher qui est abonné à moi","show_admin_badge":"Afficher le badge d\'Admin sur mon profil","show_moderator_badge":"Afficher le badge de Modo\' sur mon profil","nsfw_clickthrough":"Activer le clic pour dévoiler les pièces jointes et cacher l\'aperçu des liens pour les statuts marqués comme sensibles","oauth_tokens":"Jetons OAuth","token":"Jeton","refresh_token":"Rafraichir le jeton","valid_until":"Valable jusque","revoke_token":"Révoquer","panelRadius":"Fenêtres","pause_on_unfocused":"Suspendre le streaming lorsque l\'onglet n\'est pas actif","presets":"Thèmes prédéfinis","profile_background":"Image de fond de profil","profile_banner":"Bannière de profil","profile_tab":"Profil","radii_help":"Vous pouvez ici choisir le niveau d\'arrondi des angles de l\'interface (en pixels)","replies_in_timeline":"Réponses dans le flux","reply_visibility_all":"Montrer toutes les réponses","reply_visibility_following":"Afficher uniquement les réponses adressées à moi ou aux personnes que je suis","reply_visibility_self":"Afficher uniquement les réponses adressées à moi","autohide_floating_post_button":"Automatiquement cacher le bouton de Nouveau Statut (sur mobile)","saving_err":"Erreur lors de l\'enregistrement des paramètres","saving_ok":"Paramètres enregistrés","search_user_to_block":"Rechercher qui vous voulez bloquer","search_user_to_mute":"Rechercher qui vous voulez masquer","security_tab":"Sécurité","scope_copy":"Garder la même visibilité en répondant (les DMs restent toujours des DMs)","minimal_scopes_mode":"Rétrécir les options de séléction de la portée","set_new_avatar":"Changer d\'avatar","set_new_profile_background":"Changer d\'image de fond","set_new_profile_banner":"Changer de bannière","settings":"Paramètres","subject_input_always_show":"Toujours afficher le champ Sujet","subject_line_behavior":"Copier le sujet en répondant","subject_line_email":"Similaire au courriel : « re : sujet »","subject_line_mastodon":"Comme mastodon : copier tel quel","subject_line_noop":"Ne pas copier","post_status_content_type":"Type de contenu du statuts","stop_gifs":"N\'animer les GIFS que lors du survol du curseur de la souris","streaming":"Charger automatiquement les nouveaux statuts lorsque vous êtes au haut de la page","text":"Texte","theme":"Thème","theme_help":"Spécifiez des codes couleur hexadécimaux (#rrvvbb) pour personnaliser les couleurs du thème.","theme_help_v2_1":"Vous pouvez aussi surcharger certaines couleurs de composants et transparence via la case à cocher, utilisez le bouton « Vider tout » pour effacer toutes les surcharges.","theme_help_v2_2":"Les icônes sous certaines des entrées ont un indicateur de contraste du fond/texte, survolez les pour plus d\'informations détailles. Veuillez garder a l\'esprit que lors de l\'utilisation de transparence l\'indicateur de contraste indique le pire des cas.","tooltipRadius":"Info-bulles/alertes","upload_a_photo":"Envoyer une photo","user_settings":"Paramètres utilisateur","values":{"false":"non","true":"oui"},"notifications":"Notifications","notification_mutes":"Pour stopper la récéption de notifications d\'un utilisateur particulier, utilisez un masquage.","notification_blocks":"Bloquer un utilisateur stoppe toute notification et se désabonne de lui.","enable_web_push_notifications":"Activer les notifications de push web","style":{"switcher":{"keep_color":"Garder les couleurs","keep_shadows":"Garder les ombres","keep_opacity":"Garder la transparence","keep_roundness":"Garder la rondeur","keep_fonts":"Garder les polices","save_load_hint":"L\'option « Garder » préserve les options activés en cours lors de la séléction ou chargement des thèmes, il sauve aussi les dites options lors de l\'export d\'un thème. Quand toutes les cases sont décochés, exporter un thème sauvera tout.","reset":"Remise à zéro","clear_all":"Tout vider","clear_opacity":"Vider la transparence","load_theme":"Charger le thème","use_snapshot":"Ancienne version","help":{"upgraded_from_v2":"PleromaFE à été mis à jour, le thème peut être un peu différent que dans vos souvenirs.","v2_imported":"Le fichier que vous avez importé vient d\'une version antérieure. Nous essayons de maximizer la compatibilité mais il peut y avoir quelques incohérences.","future_version_imported":"Le fichier importé viens d\'une version postérieure de PleromaFE.","older_version_imported":"Le fichier importé viens d\'une version antérieure de PleromaFE.","snapshot_source_mismatch":"Conflict de version : Probablement due à un retour arrière puis remise à jour de la version de PleromaFE, si vous avez charger le thème en utilisant une version antérieure vous voulez probablement utiliser la version antérieure, autrement utiliser la version postérieure.","migration_napshot_gone":"Pour une raison inconnue l\'instantané est manquant, des parties peuvent rendre différentes que dans vos souvenirs.","migration_snapshot_ok":"Pour être sûr un instantanée du thème à été chargé. Vos pouvez essayer de charger ses données.","fe_downgraded":"Retour en arrière de la version de PleromaFE.","fe_upgraded":"Le moteur de thème PleromaFE à été mis à jour après un changement de version.","snapshot_missing":"Aucun instantané du thème à été trouvé dans le fichier, il peut y avoir un rendu différent à la vision originelle.","snapshot_present":"Un instantané du thème à été chargé, toutes les valeurs sont dont écrasées. Vous pouvez autrement charger le thème complètement."},"keep_as_is":"Garder tel-quel","use_source":"Nouvelle version"},"common":{"color":"Couleur","opacity":"Transparence","contrast":{"hint":"Le ratio de contraste est {ratio}, il {level} {context}","level":{"aa":"répond aux directives de niveau AA (minimum)","aaa":"répond aux directives de niveau AAA (recommandé)","bad":"ne réponds à aucune directive d\'accessibilité"},"context":{"18pt":"pour texte large (19pt+)","text":"pour texte"}}},"common_colors":{"_tab_label":"Commun","main":"Couleurs communes","foreground_hint":"Voir l\'onglet « Avancé » pour plus de contrôle détaillé","rgbo":"Icônes, accents, badges"},"advanced_colors":{"_tab_label":"Avancé","alert":"Fond d\'alerte","alert_error":"Erreur","badge":"Fond de badge","badge_notification":"Notification","panel_header":"Entête de panneau","top_bar":"Barre du haut","borders":"Bordures","buttons":"Boutons","inputs":"Champs de saisie","faint_text":"Texte en fondu","underlay":"sous-calque","pressed":"Appuyé","alert_warning":"Avertissement","alert_neutral":"Neutre","post":"Messages/Bios des comptes","poll":"Graphique de Sondage","icons":"Icônes","selectedPost":"Message sélectionné","selectedMenu":"Objet sélectionné du menu","disabled":"Désactivé","tabs":"Onglets","toggled":"(Dés)activé","highlight":"Éléments mis en valeur","popover":"Infobulles, menus","chat":{"border":"Bordure","outgoing":"Sortant(s)","incoming":"Entrant(s)"},"wallpaper":"Fond d\'écran"},"radii":{"_tab_label":"Rondeur"},"shadows":{"_tab_label":"Ombres et éclairage","component":"Composant","override":"Surcharger","shadow_id":"Ombre #{value}","blur":"Flou","spread":"Dispersion","inset":"Interne","hint":"Pour les ombres, vous pouvez aussi utiliser --variable comme valeur de couleur en CSS3. Veuillez noter que spécifier la transparence ne fonctionnera pas dans ce cas.","filter_hint":{"always_drop_shadow":"Attention, cette ombre utilise toujours {0} quand le navigateur le supporte.","drop_shadow_syntax":"{0} ne supporte pas le paramètre {1} et mot-clé {2}.","avatar_inset":"Veuillez noter que combiner à la fois les ombres internes et non-internes sur les avatars peut fournir des résultats inattendus avec la transparence des avatars.","spread_zero":"Les ombres avec une dispersion > 0 apparaitrons comme si ils étaient à zéro","inset_classic":"L\'ombre interne utilisera toujours {0}"},"components":{"panel":"Panneau","panelHeader":"En-tête de panneau","topBar":"Barre du haut","avatar":"Avatar utilisateur⋅ice (dans la vue de profil)","avatarStatus":"Avatar utilisateur⋅ice (dans la vue de statuts)","popup":"Popups et infobulles","button":"Bouton","buttonHover":"Bouton (survol)","buttonPressed":"Bouton (cliqué)","buttonPressedHover":"Bouton (cliqué+survol)","input":"Champ de saisie"},"hintV3":"Pour les ombres vous pouvez aussi utiliser la notation {0} pour utiliser un autre emplacement de couleur."},"fonts":{"_tab_label":"Polices","help":"Sélectionnez la police à utiliser pour les éléments de l\'UI. Pour « personnalisé » vous avez à entrer le nom exact de la police comme il apparaît dans le système.","components":{"interface":"Interface","input":"Champs de saisie","post":"Post text","postCode":"Texte à taille fixe dans un article (texte enrichi)"},"family":"Nom de la police","size":"Taille (en px)","weight":"Poid (gras)","custom":"Personnalisé"},"preview":{"header":"Prévisualisation","content":"Contenu","error":"Exemple d\'erreur","button":"Bouton","text":"Un certain nombre de {0} et {1}","mono":"contenu","input":"Je viens juste d’atterrir à L.A.","faint_link":"manuel utile","fine_print":"Lisez notre {0} pour n\'apprendre rien d\'utile !","header_faint":"Tout va bien","checkbox":"J\'ai survolé les conditions d\'utilisation","link":"un petit lien sympa"}},"version":{"title":"Version","backend_version":"Version du Backend","frontend_version":"Version du Frontend"},"change_email":"Changer de courriel","domain_mutes":"Domaines","pad_emoji":"Entourer les émoji d\'espaces après leur sélections","notification_visibility_emoji_reactions":"Réactions","hide_follows_count_description":"Masquer le nombre de suivis","useStreamingApiWarning":"(Non recommandé, expérimental, connu pour rater des messages)","type_domains_to_mute":"Chercher les domaines à masquer","fun":"Rigolo","greentext":"greentexting","allow_following_move":"Activer le suivit automatique à la migration des comptes","change_email_error":"Il y a eu un problème pour changer votre courriel.","changed_email":"Courriel changé avec succès !","discoverable":"Permettre de découvrir ce compte dans les résultats de recherche web et autres services","emoji_reactions_on_timeline":"Montrer les émojis-réactions dans le flux","new_email":"Nouveau courriel","notification_visibility_moves":"Migrations de compte","user_mutes":"Comptes","useStreamingApi":"Recevoir les messages et notifications en temps réel","notification_setting_filters":"Filtres","notification_setting_privacy_option":"Masquer l\'expéditeur et le contenu des notifications push","notification_setting_privacy":"Intimité","hide_followers_count_description":"Masquer le nombre d\'abonnés","accent":"Accent","chatMessageRadius":"Message de chat","bot":"Ce compte est un robot","import_mutes_from_a_csv_file":"Import de masquages depuis un fichier CSV","mutes_imported":"Masquages importés ! Leur application peut prendre du temps.","mute_import_error":"Erreur à l\'import des masquages","mute_import":"Import des masquages","mute_export_button":"Exporter vos masquages dans un fichier CSV","mute_export":"Export des masquages","notification_setting_hide_notification_contents":"Cacher l\'expéditeur et le contenu des notifications push","notification_setting_block_from_strangers":"Bloquer les notifications des utilisateur⋅ice⋅s que vous ne suivez pas","virtual_scrolling":"Optimiser le rendu des flux","reset_background_confirm":"Voulez-vraiment réinitialiser l\'arrière-plan ?","reset_banner_confirm":"Voulez-vraiment réinitialiser la bannière ?","reset_avatar_confirm":"Voulez-vraiment réinitialiser l\'avatar ?","reset_profile_banner":"Réinitialiser la bannière du profil","reset_profile_background":"Réinitialiser le fond du profil","reset_avatar":"Réinitialiser l\'avatar","profile_fields":{"value":"Contenu","name":"Nom du champ","add_field":"Ajouter un champ","label":"Champs du profil"},"hide_media_previews":"Cacher la prévisualisation des pièces jointes","mutes_and_blocks":"Masquage et Blocages","setting_changed":"Préférence modifiée","more_settings":"Plus de préférences","sensitive_by_default":"Marquer les messages comme sensible par défaut","reply_visibility_self_short":"Uniquement les réponses à moi","reply_visibility_following_short":"Montrer les réponses à mes suivis","hide_wallpaper":"Cacher le fond d\'écran","hide_all_muted_posts":"Cacher les messages masqués","word_filter":"Filtrage par mots","save":"Enregistrer les changements","file_export_import":{"backup_settings_theme":"Sauvegarder les paramètres et le thème dans un fichier","errors":{"invalid_file":"Le fichier sélectionné n\'est pas un format supporté pour les sauvegarde Pleroma. Aucun changement n\'a été fait.","file_too_new":"Version majeure incompatible. {fileMajor}, ce PleromaFE ({feMajor}) est trop ancien","file_too_old":"Version majeure incompatible : {fileMajor}, la version du fichier est trop vielle et n\'est plus supportée (vers. min. {feMajor})","file_slightly_new":"La version mineure du fichier est différente, quelques paramètres on pût ne pas chargés"},"backup_restore":"Sauvegarde des Paramètres","backup_settings":"Sauvegarder les paramètres dans un fichier","restore_settings":"Restaurer les paramètres depuis un fichier"},"hide_shoutbox":"Cacher la shoutbox de l\'instance","right_sidebar":"Afficher le paneau latéral à droite"},"timeline":{"collapse":"Fermer","conversation":"Conversation","error_fetching":"Erreur en cherchant les mises à jour","load_older":"Afficher des status plus ancien","no_retweet_hint":"Le message est marqué en abonnés-seulement ou direct et ne peut pas être partagé","repeated":"a partagé","show_new":"Afficher plus","up_to_date":"À jour","no_more_statuses":"Pas plus de statuts","no_statuses":"Aucun statuts","reload":"Recharger","error":"Erreur lors de l\'affichage du flux : {0}","socket_broke":"Connexion temps-réel perdue : CloseEvent code {0}","socket_reconnected":"Connexion temps-réel établie"},"status":{"favorites":"Favoris","repeats":"Partages","delete":"Supprimer statuts","pin":"Agrafer sur le profil","unpin":"Dégrafer du profil","pinned":"Agraffé","delete_confirm":"Voulez-vous vraiment supprimer ce statuts ?","reply_to":"Réponse à","replies_list":"Réponses :","mute_conversation":"Masquer la conversation","unmute_conversation":"Démasquer la conversation","status_unavailable":"Status indisponible","copy_link":"Copier le lien au status","expand":"Développer","nsfw":"Contenu sensible","status_deleted":"Ce post a été effacé","hide_content":"Cacher le contenu","show_content":"Montrer le contenu","hide_full_subject":"Cacher le sujet","show_full_subject":"Montrer le sujet en entier","thread_muted_and_words":", contient les mots :","thread_muted":"Fil de discussion masqué","external_source":"Source externe","unbookmark":"Supprimer des favoris","bookmark":"Ajouter aux favoris"},"user_card":{"approve":"Accepter","block":"Bloquer","blocked":"Bloqué !","deny":"Rejeter","favorites":"Favoris","follow":"Suivre","follow_sent":"Demande envoyée !","follow_progress":"Demande en cours…","follow_unfollow":"Désabonner","followees":"Suivis","followers":"Vous suivent","following":"Suivi !","follows_you":"Vous suit !","its_you":"C\'est vous !","media":"Media","mute":"Masquer","muted":"Masqué","per_day":"par jour","remote_follow":"Suivre d\'une autre instance","report":"Signalement","statuses":"Statuts","unblock":"Débloquer","unblock_progress":"Déblocage…","block_progress":"Blocage…","unmute":"Démasquer","unmute_progress":"Démasquage…","mute_progress":"Masquage…","admin_menu":{"moderation":"Moderation","grant_admin":"Promouvoir Administrateur⋅ice","revoke_admin":"Dégrader Administrateur⋅ice","grant_moderator":"Promouvoir Modérateur⋅ice","revoke_moderator":"Dégrader Modérateur⋅ice","activate_account":"Activer le compte","deactivate_account":"Désactiver le compte","delete_account":"Supprimer le compte","force_nsfw":"Marquer tous les statuts comme NSFW","strip_media":"Supprimer les medias des statuts","force_unlisted":"Forcer les statuts à être délistés","sandbox":"Forcer les statuts à être visibles seuleument pour les abonné⋅e⋅s","disable_remote_subscription":"Interdir de s\'abonner a l\'utilisateur depuis l\'instance distante","disable_any_subscription":"Interdir de s\'abonner à l\'utilisateur tout court","quarantine":"Interdir les statuts de l\'utilisateur à fédérer","delete_user":"Supprimer l\'utilisateur","delete_user_confirmation":"Êtes-vous absolument-sûr⋅e ? Cette action ne peut être annulée."},"mention":"Mention","hidden":"Caché","subscribe":"Abonner","unsubscribe":"Désabonner","hide_repeats":"Cacher les partages","show_repeats":"Montrer les partages","roles":{"moderator":"Modérateur⋅ice","admin":"Administrateur⋅ice"},"message":"Message","highlight":{"disabled":"Sans mise-en-valeur","solid":"Fond uni","side":"Coté rayé","striped":"Fond rayé"},"bot":"Robot","edit_profile":"Éditer le profil"},"user_profile":{"timeline_title":"Flux du compte","profile_does_not_exist":"Désolé, ce profil n\'existe pas.","profile_loading_error":"Désolé, il y a eu une erreur au chargement du profil."},"user_reporting":{"title":"Signaler {0}","add_comment_description":"Ce signalement sera envoyé aux modérateur⋅ice⋅s de votre instance. Vous pouvez fournir une explication de pourquoi vous signalez ce compte ci-dessous :","additional_comments":"Commentaires additionnels","forward_description":"Le compte vient d\'un autre serveur. Envoyer une copie du signalement à celui-ci aussi ?","forward_to":"Transmettre à {0}","submit":"Envoyer","generic_error":"Une erreur est survenue lors du traitement de votre requête."},"who_to_follow":{"more":"Plus","who_to_follow":"À qui s\'abonner"},"tool_tip":{"media_upload":"Envoyer un media","repeat":"Répéter","reply":"Répondre","favorite":"Favoriser","user_settings":"Paramètres utilisateur","add_reaction":"Ajouter une réaction","accept_follow_request":"Accepter la demande de suivit","reject_follow_request":"Rejeter la demande de suivit","bookmark":"Favori"},"upload":{"error":{"base":"L\'envoi a échoué.","file_too_big":"Fichier trop gros [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","default":"Réessayez plus tard","message":"Envoi échoué : {0}"},"file_size_units":{"B":"o","KiB":"Ko","MiB":"Mo","GiB":"Go","TiB":"To"}},"about":{"mrf":{"keyword":{"reject":"Rejette","replace":"Remplace","keyword_policies":"Filtrage par mots-clés","ftl_removal":"Suppression du flux fédéré","is_replaced_by":"→"},"simple":{"simple_policies":"Politiques par instances","accept":"Acceptées","accept_desc":"Cette instance accepte les messages seulement depuis ces instances :","reject":"Rejetées","reject_desc":"Cette instance n\'acceptera pas de message de ces instances :","quarantine":"Quarantaine","quarantine_desc":"Cette instance enverra seulement des messages publics à ces instances :","ftl_removal_desc":"Cette instance supprime les instance suivantes du flux fédéré :","media_removal":"Suppression des pièce-jointes","media_removal_desc":"Cette instance supprime le contenu multimédia des instances suivantes :","media_nsfw":"Force le contenu multimédia comme sensible","ftl_removal":"Supprimées du flux fédéré","media_nsfw_desc":"Cette instance force les pièce-jointes comme sensible pour les messages des instances suivantes :"},"federation":"Fédération","mrf_policies":"Politiques MRF actives","mrf_policies_desc":"Les politiques MRF modifient la fédération entre les instances. Les politiques suivantes sont activées :"},"staff":"Staff"},"domain_mute_card":{"mute":"Masqué","mute_progress":"Masquage…","unmute":"Démasquer","unmute_progress":"Démasquage…"},"polls":{"add_poll":"Ajouter un Sondage","add_option":"Ajouter une option","option":"Option","votes":"votes","type":"Type de Sondage","single_choice":"Choix unique","multiple_choices":"Choix multiples","expiry":"Age du sondage","expires_in":"Fin du sondage dans {0}","not_enough_options":"Trop peu d\'options unique au sondage","vote":"Voter","expired":"Sondage terminé il y a {0}","people_voted_count":"{count} voteur | {count} voteurs","votes_count":"{count} vote | {count} votes"},"emoji":{"emoji":"Émoji","search_emoji":"Rechercher un émoji","add_emoji":"Insérer un émoji","custom":"émoji personnalisé","unicode":"émoji unicode","load_all":"Charger tout les {emojiAmount} émojis","load_all_hint":"{saneAmount} émojis chargé, charger tout les émojis peuvent causer des problèmes de performances.","stickers":"Stickers","keep_open":"Garder ouvert"},"remote_user_resolver":{"error":"Non trouvé.","searching_for":"Recherche pour","remote_user_resolver":"Résolution de compte distant"},"time":{"minutes_short":"{0}min","second_short":"{0}s","day":"{0} jour","days":"{0} jours","months":"{0} mois","month_short":"{0}m","months_short":"{0}m","now":"tout de suite","now_short":"maintenant","second":"{0} seconde","seconds":"{0} secondes","seconds_short":"{0}s","day_short":"{0}j","days_short":"{0}j","hour":"{0} heure","hours":"{0} heures","hour_short":"{0}h","hours_short":"{0}h","in_future":"dans {0}","in_past":"il y a {0}","minute":"{0} minute","minutes":"{0} minutes","minute_short":"{0}min","month":"{0} mois","week":"{0} semaine","weeks":"{0} semaines","week_short":"{0}s","weeks_short":"{0}s","year":"{0} année","years":"{0} années","year_short":"{0}a","years_short":"{0}a"},"search":{"people":"Comptes","person_talking":"{count} personnes discutant","hashtags":"Mot-dièses","people_talking":"{count} personnes discutant","no_results":"Aucun résultats"},"password_reset":{"forgot_password":"Mot de passe oublié ?","check_email":"Vérifiez vos courriels pour le lien permettant de changer votre mot de passe.","password_reset_disabled":"Le changement de mot de passe est désactivé. Veuillez contacter l\'administration de votre instance.","password_reset_required_but_mailer_is_disabled":"Vous devez changer votre mot de passe mais sont changement est désactivé. Veuillez contacter l’administration de votre instance.","password_reset":"Nouveau mot de passe","instruction":"Entrer votre address de courriel ou votre nom utilisateur. Nous enverrons un lien pour changer votre mot de passe.","placeholder":"Votre email ou nom d\'utilisateur","return_home":"Retourner à la page d\'accueil","too_many_requests":"Vos avez atteint la limite d\'essais, essayez plus tard.","password_reset_required":"Vous devez changer votre mot de passe pour vous authentifier."},"errors":{"storage_unavailable":"Pleroma n\'a pas pu accéder au stockage du navigateur. Votre identifiant ou vos mots de passes ne seront sauvegardés et des problèmes pourront être rencontrés. Essayez d\'activer les cookies."},"shoutbox":{"title":"Shoutbox"},"display_date":{"today":"Aujourd\'hui"},"file_type":{"file":"Fichier","image":"Image","video":"Vidéo","audio":"Audio"},"chats":{"empty_chat_list_placeholder":"Vous n\'avez pas encore de discussions. Démarrez-en une nouvelle !","error_sending_message":"Quelque chose s\'est mal passé pendant l\'envoi du message.","error_loading_chat":"Quelque chose s\'est mal passé au chargement de la discussion.","delete_confirm":"Voulez-vous vraiment effacer ce message ?","more":"Plus","empty_message_error":"Impossible d\'envoyer un message vide","new":"Nouvelle discussion","chats":"Discussions","delete":"Effacer","message_user":"Message à {nickname}","you":"Vous :"}}')}}]); +//# sourceMappingURL=14.4e05e7c284119777ecc5.js.map \ No newline at end of file diff --git a/priv/static/static/js/14.4e05e7c284119777ecc5.js.map b/priv/static/static/js/14.4e05e7c284119777ecc5.js.map new file mode 100644 index 000000000..d219c6115 --- /dev/null +++ b/priv/static/static/js/14.4e05e7c284119777ecc5.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/14.4e05e7c284119777ecc5.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/14.a2b9acaf9caa95d1fd7f.js b/priv/static/static/js/14.a2b9acaf9caa95d1fd7f.js deleted file mode 100644 index 9111373a2..000000000 --- a/priv/static/static/js/14.a2b9acaf9caa95d1fd7f.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[14],{594:function(e){e.exports=JSON.parse('{"chat":{"title":"Chat"},"exporter":{"export":"Exporter","processing":"En cours de traitement, vous pourrez bientôt télécharger votre fichier"},"features_panel":{"chat":"Chat","gopher":"Gopher","media_proxy":"Proxy pièce-jointes","scope_options":"Options de visibilité","text_limit":"Limite du texte","title":"Fonctionnalités","who_to_follow":"Suggestions de suivis","pleroma_chat_messages":"Chat Pleroma","upload_limit":"Limite de téléversement"},"finder":{"error_fetching_user":"Erreur lors de la recherche du compte","find_user":"Rechercher un compte"},"general":{"apply":"Appliquer","submit":"Envoyer","more":"Plus","generic_error":"Une erreur s\'est produite","optional":"optionnel","show_more":"Afficher plus","show_less":"Afficher moins","cancel":"Annuler","disable":"Désactiver","enable":"Activer","confirm":"Confirmer","verify":"Vérifier","dismiss":"Ignorer","peek":"Jeter un coup d\'œil","close":"Fermer","retry":"Réessayez","error_retry":"Veuillez réessayer","loading":"Chargement…","role":{"moderator":"Modo\'","admin":"Admin"}},"image_cropper":{"crop_picture":"Rogner l\'image","save":"Sauvegarder","save_without_cropping":"Sauvegarder sans rogner","cancel":"Annuler"},"importer":{"submit":"Envoyer","success":"Importé avec succès.","error":"Une erreur est survenue pendant l\'import de ce fichier."},"login":{"login":"Connexion","description":"Connexion avec OAuth","logout":"Déconnexion","password":"Mot de passe","placeholder":"ex. lain","register":"S\'inscrire","username":"Identifiant","hint":"Connectez-vous pour rejoindre la discussion","authentication_code":"Code d\'authentification","enter_recovery_code":"Entrez un code de récupération","enter_two_factor_code":"Entrez un code double-facteur","recovery_code":"Code de récupération","heading":{"totp":"Authentification à double-facteur","recovery":"Récupération de l\'authentification à double-facteur"}},"media_modal":{"previous":"Précédent","next":"Suivant"},"nav":{"about":"À propos","back":"Retour","chat":"Chat local","friend_requests":"Demandes de suivi","mentions":"Mentions","interactions":"Interactions","dms":"Messages directs","public_tl":"Flux publique","timeline":"Flux personnel","twkn":"Réseau connu","user_search":"Recherche de comptes","who_to_follow":"Suggestion de suivit","preferences":"Préférences","search":"Recherche","administration":"Administration","chats":"Chats","bookmarks":"Marques-Pages","timelines":"Flux","home_timeline":"Flux personnel"},"notifications":{"broken_favorite":"Message inconnu, recherche en cours…","favorited_you":"a aimé votre statut","followed_you":"vous suit","load_older":"Charger les notifications précédentes","notifications":"Notifications","read":"Lu !","repeated_you":"a partagé votre statut","no_more_notifications":"Aucune notification supplémentaire","migrated_to":"a migré à","reacted_with":"a réagi avec {0}","follow_request":"veut vous suivre","error":"Erreur de chargement des notifications : {0}"},"interactions":{"favs_repeats":"Partages et favoris","follows":"Nouveaux suivis","load_older":"Chargez d\'anciennes interactions","moves":"Migrations de comptes"},"post_status":{"new_status":"Poster un nouveau statut","account_not_locked_warning":"Votre compte n\'est pas {0}. N\'importe qui peut vous suivre pour voir vos billets en Abonné·e·s uniquement.","account_not_locked_warning_link":"verrouillé","attachments_sensitive":"Marquer les pièce-jointes comme sensible","content_type":{"text/plain":"Texte brut","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},"content_warning":"Sujet (optionnel)","default":"Je viens d\'atterrir en Tchéquie.","direct_warning_to_all":"Ce message sera visible pour toutes les personnes mentionnées.","direct_warning_to_first_only":"Ce message sera visible uniquement pour personnes mentionnées au début du message.","posting":"Envoi en cours","scope_notice":{"public":"Ce statut sera visible par tout le monde","private":"Ce statut sera visible par seulement vos abonné⋅e⋅s","unlisted":"Ce statut ne sera pas visible dans le Flux Public et le Flux Fédéré"},"scope":{"direct":"Direct - N\'envoyer qu\'aux personnes mentionnées","private":"Abonné·e·s uniquement - Seul·e·s vos abonné·e·s verront vos status","public":"Publique - Afficher dans les flux publics","unlisted":"Non-Listé - Ne pas afficher dans les flux publics"},"media_description_error":"Échec de téléversement du media, essayez encore","empty_status_error":"Impossible de poster un statut vide sans pièces-jointes","preview_empty":"Vide","preview":"Prévisualisation","media_description":"Description de la pièce-jointe","post":"Post"},"registration":{"bio":"Biographie","email":"Courriel","fullname":"Pseudonyme","password_confirm":"Confirmation du mot de passe","registration":"Inscription","token":"Jeton d\'invitation","captcha":"CAPTCHA","new_captcha":"Cliquez sur l\'image pour avoir un nouveau captcha","username_placeholder":"ex. lain","fullname_placeholder":"ex. Lain Iwakura","bio_placeholder":"ex.\\nSalut, je suis Lain\\nJe suis une héroïne d\'animation qui vit dans une banlieue japonaise. Vous me connaissez peut-être du Wired.","validations":{"username_required":"ne peut pas être laissé vide","fullname_required":"ne peut pas être laissé vide","email_required":"ne peut pas être laissé vide","password_required":"ne peut pas être laissé vide","password_confirmation_required":"ne peut pas être laissé vide","password_confirmation_match":"doit être identique au mot de passe"},"reason_placeholder":"Cette instance modère les inscriptions manuellement.\\nExpliquer ce qui motive votre inscription à l\'administration.","reason":"Motivation d\'inscription","register":"Enregistrer"},"selectable_list":{"select_all":"Tout selectionner"},"settings":{"app_name":"Nom de l\'application","security":"Sécurité","enter_current_password_to_confirm":"Entrez votre mot de passe actuel pour confirmer votre identité","mfa":{"otp":"OTP","setup_otp":"Configurer OTP","wait_pre_setup_otp":"préconfiguration OTP","confirm_and_enable":"Confirmer & activer OTP","title":"Authentification double-facteur","generate_new_recovery_codes":"Générer de nouveaux codes de récupération","warning_of_generate_new_codes":"Quand vous générez de nouveaux codes de récupération, vos anciens codes ne fonctionnerons plus.","recovery_codes":"Codes de récupération.","waiting_a_recovery_codes":"Réception des codes de récupération…","recovery_codes_warning":"Écrivez ces codes ou sauvegardez les dans un endroit sécurisé - sinon vous ne les verrez plus jamais. Si vous perdez l\'accès à votre application de double authentification et codes de récupération vous serez verrouillé en dehors de votre compte.","authentication_methods":"Méthodes d\'authentification","scan":{"title":"Scanner","desc":"En utilisant votre application d\'authentification à double-facteur, scannez ce QR code ou entrez la clé textuelle :","secret_code":"Clé"},"verify":{"desc":"Pour activer l\'authentification à double-facteur, entrez le code donné par votre application :"}},"attachmentRadius":"Pièces jointes","attachments":"Pièces jointes","avatar":"Avatar","avatarAltRadius":"Avatars (Notifications)","avatarRadius":"Avatars","background":"Arrière-plan","bio":"Biographie","block_export":"Export des comptes bloqués","block_export_button":"Export des comptes bloqués vers un fichier CSV","block_import":"Import des comptes bloqués","block_import_error":"Erreur lors de l\'import des comptes bloqués","blocks_imported":"Blocages importés ! Le traitement va prendre un moment.","blocks_tab":"Bloqué·e·s","btnRadius":"Boutons","cBlue":"Bleu (répondre, suivre)","cGreen":"Vert (partager)","cOrange":"Orange (aimer)","cRed":"Rouge (annuler)","change_password":"Changez votre mot de passe","change_password_error":"Il y a eu un problème pour changer votre mot de passe.","changed_password":"Mot de passe modifié avec succès !","collapse_subject":"Réduire les messages avec des sujets","composing":"Composition","confirm_new_password":"Confirmation du nouveau mot de passe","current_avatar":"Avatar actuel","current_password":"Mot de passe actuel","current_profile_banner":"Bannière de profil actuelle","data_import_export_tab":"Import / Export des Données","default_vis":"Visibilité par défaut","delete_account":"Supprimer le compte","delete_account_description":"Supprimer définitivement vos données et désactiver votre compte.","delete_account_error":"Il y a eu un problème lors de la tentative de suppression de votre compte. Si le problème persiste, contactez l\'administration de cette instance.","delete_account_instructions":"Indiquez votre mot de passe ci-dessous pour confirmer la suppression de votre compte.","avatar_size_instruction":"La taille minimale recommandée pour l\'image de l\'avatar est de 150x150 pixels.","export_theme":"Enregistrer le thème","filtering":"Filtrage","filtering_explanation":"Tous les statuts contenant ces mots seront masqués. Un mot par ligne","follow_export":"Exporter les suivis","follow_export_button":"Exporter les suivis dans un fichier CSV","follow_import":"Import des suivis","follow_import_error":"Erreur lors de l\'importation des suivis","follows_imported":"Suivis importés ! Le traitement peut prendre un moment.","foreground":"Premier plan","general":"Général","hide_attachments_in_convo":"Masquer les pièces jointes dans les conversations","hide_attachments_in_tl":"Masquer les pièces jointes dans le flux","hide_muted_posts":"Masquer les statuts des comptes masqués","max_thumbnails":"Nombre maximum de miniatures par statuts","hide_isp":"Masquer le panneau de l\'instance","preload_images":"Précharger les images","use_one_click_nsfw":"Ouvrir les pièces-jointes sensibles avec un seul clic","hide_post_stats":"Masquer les statistiques des messages (ex. le nombre de favoris)","hide_user_stats":"Masquer les statistiques de compte (ex. le nombre de suivis)","hide_filtered_statuses":"Masquer les statuts filtrés","import_blocks_from_a_csv_file":"Import de blocages depuis un fichier CSV","import_followers_from_a_csv_file":"Import de suivis depuis un fichier CSV","import_theme":"Charger le thème","inputRadius":"Champs de texte","checkboxRadius":"Cases à cocher","instance_default":"(default : {value})","instance_default_simple":"(default)","interface":"Interface","interfaceLanguage":"Langue de l\'interface","invalid_theme_imported":"Le fichier sélectionné n\'est pas un thème Pleroma pris en charge. Aucun changement n\'a été apporté à votre thème.","limited_availability":"Non disponible dans votre navigateur","links":"Liens","lock_account_description":"Limitez votre compte aux abonnés acceptés uniquement","loop_video":"Vidéos en boucle","loop_video_silent_only":"Boucle uniquement les vidéos sans le son (les « gifs » de Mastodon)","mutes_tab":"Comptes silenciés","play_videos_in_modal":"Jouer les vidéos directement dans le visionneur de médias","use_contain_fit":"Ne pas rogner les miniatures des pièces-jointes","name":"Nom","name_bio":"Nom & Bio","new_password":"Nouveau mot de passe","notification_visibility":"Types de notifications à afficher","notification_visibility_follows":"Suivis","notification_visibility_likes":"J\'aime","notification_visibility_mentions":"Mentionnés","notification_visibility_repeats":"Partages","no_rich_text_description":"Ne formatez pas le texte","no_blocks":"Aucun bloqués","no_mutes":"Aucun masqués","hide_follows_description":"Ne pas afficher à qui je suis abonné","hide_followers_description":"Ne pas afficher qui est abonné à moi","show_admin_badge":"Afficher le badge d\'Admin sur mon profil","show_moderator_badge":"Afficher le badge de Modo\' sur mon profil","nsfw_clickthrough":"Activer le clic pour dévoiler les pièces jointes et cacher l\'aperçu des liens pour les statuts marqués comme sensibles","oauth_tokens":"Jetons OAuth","token":"Jeton","refresh_token":"Rafraichir le jeton","valid_until":"Valable jusque","revoke_token":"Révoquer","panelRadius":"Fenêtres","pause_on_unfocused":"Suspendre le streaming lorsque l\'onglet n\'est pas actif","presets":"Thèmes prédéfinis","profile_background":"Image de fond de profil","profile_banner":"Bannière de profil","profile_tab":"Profil","radii_help":"Vous pouvez ici choisir le niveau d\'arrondi des angles de l\'interface (en pixels)","replies_in_timeline":"Réponses dans le flux","reply_visibility_all":"Montrer toutes les réponses","reply_visibility_following":"Afficher uniquement les réponses adressées à moi ou aux personnes que je suis","reply_visibility_self":"Afficher uniquement les réponses adressées à moi","autohide_floating_post_button":"Automatiquement cacher le bouton de Nouveau Statut (sur mobile)","saving_err":"Erreur lors de l\'enregistrement des paramètres","saving_ok":"Paramètres enregistrés","search_user_to_block":"Rechercher qui vous voulez bloquer","search_user_to_mute":"Rechercher qui vous voulez masquer","security_tab":"Sécurité","scope_copy":"Garder la même visibilité en répondant (les DMs restent toujours des DMs)","minimal_scopes_mode":"Rétrécir les options de séléction de la portée","set_new_avatar":"Changer d\'avatar","set_new_profile_background":"Changer d\'image de fond","set_new_profile_banner":"Changer de bannière","settings":"Paramètres","subject_input_always_show":"Toujours afficher le champ Sujet","subject_line_behavior":"Copier le sujet en répondant","subject_line_email":"Similaire au courriel : « re : sujet »","subject_line_mastodon":"Comme mastodon : copier tel quel","subject_line_noop":"Ne pas copier","post_status_content_type":"Type de contenu du statuts","stop_gifs":"N\'animer les GIFS que lors du survol du curseur de la souris","streaming":"Charger automatiquement les nouveaux statuts lorsque vous êtes au haut de la page","text":"Texte","theme":"Thème","theme_help":"Spécifiez des codes couleur hexadécimaux (#rrvvbb) pour personnaliser les couleurs du thème.","theme_help_v2_1":"Vous pouvez aussi surcharger certaines couleurs de composants et transparence via la case à cocher, utilisez le bouton « Vider tout » pour effacer toutes les surcharges.","theme_help_v2_2":"Les icônes sous certaines des entrées ont un indicateur de contraste du fond/texte, survolez les pour plus d\'informations détailles. Veuillez garder a l\'esprit que lors de l\'utilisation de transparence l\'indicateur de contraste indique le pire des cas.","tooltipRadius":"Info-bulles/alertes","upload_a_photo":"Envoyer une photo","user_settings":"Paramètres utilisateur","values":{"false":"non","true":"oui"},"notifications":"Notifications","notification_mutes":"Pour stopper la récéption de notifications d\'un utilisateur particulier, utilisez un masquage.","notification_blocks":"Bloquer un utilisateur stoppe toute notification et se désabonne de lui.","enable_web_push_notifications":"Activer les notifications de push web","style":{"switcher":{"keep_color":"Garder les couleurs","keep_shadows":"Garder les ombres","keep_opacity":"Garder la transparence","keep_roundness":"Garder la rondeur","keep_fonts":"Garder les polices","save_load_hint":"L\'option « Garder » préserve les options activés en cours lors de la séléction ou chargement des thèmes, il sauve aussi les dites options lors de l\'export d\'un thème. Quand toutes les cases sont décochés, exporter un thème sauvera tout.","reset":"Remise à zéro","clear_all":"Tout vider","clear_opacity":"Vider la transparence","load_theme":"Charger le thème","use_snapshot":"Ancienne version","help":{"upgraded_from_v2":"PleromaFE à été mis à jour, le thème peut être un peu différent que dans vos souvenirs.","v2_imported":"Le fichier que vous avez importé vient d\'une version antérieure. Nous essayons de maximizer la compatibilité mais il peut y avoir quelques incohérences.","future_version_imported":"Le fichier importé viens d\'une version postérieure de PleromaFE.","older_version_imported":"Le fichier importé viens d\'une version antérieure de PleromaFE.","snapshot_source_mismatch":"Conflict de version : Probablement due à un retour arrière puis remise à jour de la version de PleromaFE, si vous avez charger le thème en utilisant une version antérieure vous voulez probablement utiliser la version antérieure, autrement utiliser la version postérieure.","migration_napshot_gone":"Pour une raison inconnue l\'instantané est manquant, des parties peuvent rendre différentes que dans vos souvenirs.","migration_snapshot_ok":"Pour être sûr un instantanée du thème à été chargé. Vos pouvez essayer de charger ses données.","fe_downgraded":"Retour en arrière de la version de PleromaFE.","fe_upgraded":"Le moteur de thème PleromaFE à été mis à jour après un changement de version.","snapshot_missing":"Aucun instantané du thème à été trouvé dans le fichier, il peut y avoir un rendu différent à la vision originelle.","snapshot_present":"Un instantané du thème à été chargé, toutes les valeurs sont dont écrasées. Vous pouvez autrement charger le thème complètement."},"keep_as_is":"Garder tel-quel","use_source":"Nouvelle version"},"common":{"color":"Couleur","opacity":"Transparence","contrast":{"hint":"Le ratio de contraste est {ratio}, il {level} {context}","level":{"aa":"répond aux directives de niveau AA (minimum)","aaa":"répond aux directives de niveau AAA (recommandé)","bad":"ne réponds à aucune directive d\'accessibilité"},"context":{"18pt":"pour texte large (19pt+)","text":"pour texte"}}},"common_colors":{"_tab_label":"Commun","main":"Couleurs communes","foreground_hint":"Voir l\'onglet « Avancé » pour plus de contrôle détaillé","rgbo":"Icônes, accents, badges"},"advanced_colors":{"_tab_label":"Avancé","alert":"Fond d\'alerte","alert_error":"Erreur","badge":"Fond de badge","badge_notification":"Notification","panel_header":"Entête de panneau","top_bar":"Barre du haut","borders":"Bordures","buttons":"Boutons","inputs":"Champs de saisie","faint_text":"Texte en fondu","underlay":"sous-calque","pressed":"Appuyé","alert_warning":"Avertissement","alert_neutral":"Neutre","post":"Messages/Bios des comptes","poll":"Graphique de Sondage","icons":"Icônes","selectedPost":"Message sélectionné","selectedMenu":"Objet sélectionné du menu","disabled":"Désactivé","tabs":"Onglets","toggled":"(Dés)activé","highlight":"Éléments mis en valeur","popover":"Infobulles, menus","chat":{"border":"Bordure","outgoing":"Sortant(s)","incoming":"Entrant(s)"},"wallpaper":"Fond d\'écran"},"radii":{"_tab_label":"Rondeur"},"shadows":{"_tab_label":"Ombres et éclairage","component":"Composant","override":"Surcharger","shadow_id":"Ombre #{value}","blur":"Flou","spread":"Dispersion","inset":"Interne","hint":"Pour les ombres, vous pouvez aussi utiliser --variable comme valeur de couleur en CSS3. Veuillez noter que spécifier la transparence ne fonctionnera pas dans ce cas.","filter_hint":{"always_drop_shadow":"Attention, cette ombre utilise toujours {0} quand le navigateur le supporte.","drop_shadow_syntax":"{0} ne supporte pas le paramètre {1} et mot-clé {2}.","avatar_inset":"Veuillez noter que combiner à la fois les ombres internes et non-internes sur les avatars peut fournir des résultats inattendus avec la transparence des avatars.","spread_zero":"Les ombres avec une dispersion > 0 apparaitrons comme si ils étaient à zéro","inset_classic":"L\'ombre interne utilisera toujours {0}"},"components":{"panel":"Panneau","panelHeader":"En-tête de panneau","topBar":"Barre du haut","avatar":"Avatar utilisateur⋅ice (dans la vue de profil)","avatarStatus":"Avatar utilisateur⋅ice (dans la vue de statuts)","popup":"Popups et infobulles","button":"Bouton","buttonHover":"Bouton (survol)","buttonPressed":"Bouton (cliqué)","buttonPressedHover":"Bouton (cliqué+survol)","input":"Champ de saisie"},"hintV3":"Pour les ombres vous pouvez aussi utiliser la notation {0} pour utiliser un autre emplacement de couleur."},"fonts":{"_tab_label":"Polices","help":"Sélectionnez la police à utiliser pour les éléments de l\'UI. Pour « personnalisé » vous avez à entrer le nom exact de la police comme il apparaît dans le système.","components":{"interface":"Interface","input":"Champs de saisie","post":"Post text","postCode":"Texte à taille fixe dans un article (texte enrichi)"},"family":"Nom de la police","size":"Taille (en px)","weight":"Poid (gras)","custom":"Personnalisé"},"preview":{"header":"Prévisualisation","content":"Contenu","error":"Exemple d\'erreur","button":"Bouton","text":"Un certain nombre de {0} et {1}","mono":"contenu","input":"Je viens juste d’atterrir à L.A.","faint_link":"manuel utile","fine_print":"Lisez notre {0} pour n\'apprendre rien d\'utile !","header_faint":"Tout va bien","checkbox":"J\'ai survolé les conditions d\'utilisation","link":"un petit lien sympa"}},"version":{"title":"Version","backend_version":"Version du Backend","frontend_version":"Version du Frontend"},"change_email":"Changer de courriel","domain_mutes":"Domaines","pad_emoji":"Entourer les émoji d\'espaces après leur sélections","notification_visibility_emoji_reactions":"Réactions","hide_follows_count_description":"Masquer le nombre de suivis","useStreamingApiWarning":"(Non recommandé, expérimental, connu pour rater des messages)","type_domains_to_mute":"Chercher les domaines à masquer","fun":"Rigolo","greentext":"greentexting","allow_following_move":"Activer le suivit automatique à la migration des comptes","change_email_error":"Il y a eu un problème pour changer votre courriel.","changed_email":"Courriel changé avec succès !","discoverable":"Permettre de découvrir ce compte dans les résultats de recherche web et autres services","emoji_reactions_on_timeline":"Montrer les émojis-réactions dans le flux","new_email":"Nouveau courriel","notification_visibility_moves":"Migrations de compte","user_mutes":"Comptes","useStreamingApi":"Recevoir les messages et notifications en temps réel","notification_setting_filters":"Filtres","notification_setting_privacy_option":"Masquer l\'expéditeur et le contenu des notifications push","notification_setting_privacy":"Intimité","hide_followers_count_description":"Masquer le nombre d\'abonnés","accent":"Accent","chatMessageRadius":"Message de chat","bot":"Ce compte est un robot","import_mutes_from_a_csv_file":"Import de masquages depuis un fichier CSV","mutes_imported":"Masquages importés ! Leur application peut prendre du temps.","mute_import_error":"Erreur à l\'import des masquages","mute_import":"Import des masquages","mute_export_button":"Exporter vos masquages dans un fichier CSV","mute_export":"Export des masquages","notification_setting_hide_notification_contents":"Cacher l\'expéditeur et le contenu des notifications push","notification_setting_block_from_strangers":"Bloquer les notifications des utilisateur⋅ice⋅s que vous ne suivez pas","virtual_scrolling":"Optimiser le rendu des flux","reset_background_confirm":"Voulez-vraiment réinitialiser l\'arrière-plan ?","reset_banner_confirm":"Voulez-vraiment réinitialiser la bannière ?","reset_avatar_confirm":"Voulez-vraiment réinitialiser l\'avatar ?","reset_profile_banner":"Réinitialiser la bannière du profil","reset_profile_background":"Réinitialiser le fond du profil","reset_avatar":"Réinitialiser l\'avatar","profile_fields":{"value":"Contenu","name":"Nom du champ","add_field":"Ajouter un champ","label":"Champs du profil"},"hide_media_previews":"Cacher la prévisualisation des pièces jointes","mutes_and_blocks":"Masquage et Blocages","setting_changed":"Préférence modifiée","more_settings":"Plus de préférences","sensitive_by_default":"Marquer les messages comme sensible par défaut","reply_visibility_self_short":"Uniquement les réponses à moi","reply_visibility_following_short":"Montrer les réponses à mes suivis","hide_wallpaper":"Cacher le fond d\'écran","hide_all_muted_posts":"Cacher les messages masqués","word_filter":"Filtrage par mots","save":"Enregistrer les changements"},"timeline":{"collapse":"Fermer","conversation":"Conversation","error_fetching":"Erreur en cherchant les mises à jour","load_older":"Afficher des status plus ancien","no_retweet_hint":"Le message est marqué en abonnés-seulement ou direct et ne peut pas être partagé","repeated":"a partagé","show_new":"Afficher plus","up_to_date":"À jour","no_more_statuses":"Pas plus de statuts","no_statuses":"Aucun statuts","reload":"Recharger","error":"Erreur lors de l\'affichage du flux : {0}","socket_broke":"Connexion temps-réel perdue : CloseEvent code {0}","socket_reconnected":"Connexion temps-réel établie"},"status":{"favorites":"Favoris","repeats":"Partages","delete":"Supprimer statuts","pin":"Agrafer sur le profil","unpin":"Dégrafer du profil","pinned":"Agraffé","delete_confirm":"Voulez-vous vraiment supprimer ce statuts ?","reply_to":"Réponse à","replies_list":"Réponses :","mute_conversation":"Masquer la conversation","unmute_conversation":"Démasquer la conversation","status_unavailable":"Status indisponible","copy_link":"Copier le lien au status","expand":"Développer","nsfw":"Contenu sensible","status_deleted":"Ce post a été effacé","hide_content":"Cacher le contenu","show_content":"Montrer le contenu","hide_full_subject":"Cacher le sujet","show_full_subject":"Montrer le sujet en entier","thread_muted_and_words":", contient les mots :","thread_muted":"Fil de discussion masqué","external_source":"Source externe","unbookmark":"Supprimer des favoris","bookmark":"Ajouter aux favoris"},"user_card":{"approve":"Accepter","block":"Bloquer","blocked":"Bloqué !","deny":"Rejeter","favorites":"Favoris","follow":"Suivre","follow_sent":"Demande envoyée !","follow_progress":"Demande en cours…","follow_again":"Renvoyer la demande ?","follow_unfollow":"Désabonner","followees":"Suivis","followers":"Vous suivent","following":"Suivi !","follows_you":"Vous suit !","its_you":"C\'est vous !","media":"Media","mute":"Masquer","muted":"Masqué","per_day":"par jour","remote_follow":"Suivre d\'une autre instance","report":"Signalement","statuses":"Statuts","unblock":"Débloquer","unblock_progress":"Déblocage…","block_progress":"Blocage…","unmute":"Démasquer","unmute_progress":"Démasquage…","mute_progress":"Masquage…","admin_menu":{"moderation":"Moderation","grant_admin":"Promouvoir Administrateur⋅ice","revoke_admin":"Dégrader Administrateur⋅ice","grant_moderator":"Promouvoir Modérateur⋅ice","revoke_moderator":"Dégrader Modérateur⋅ice","activate_account":"Activer le compte","deactivate_account":"Désactiver le compte","delete_account":"Supprimer le compte","force_nsfw":"Marquer tous les statuts comme NSFW","strip_media":"Supprimer les medias des statuts","force_unlisted":"Forcer les statuts à être délistés","sandbox":"Forcer les statuts à être visibles seuleument pour les abonné⋅e⋅s","disable_remote_subscription":"Interdir de s\'abonner a l\'utilisateur depuis l\'instance distante","disable_any_subscription":"Interdir de s\'abonner à l\'utilisateur tout court","quarantine":"Interdir les statuts de l\'utilisateur à fédérer","delete_user":"Supprimer l\'utilisateur","delete_user_confirmation":"Êtes-vous absolument-sûr⋅e ? Cette action ne peut être annulée."},"mention":"Mention","hidden":"Caché","subscribe":"Abonner","unsubscribe":"Désabonner","hide_repeats":"Cacher les partages","show_repeats":"Montrer les partages","roles":{"moderator":"Modérateur⋅ice","admin":"Administrateur⋅ice"},"message":"Message","highlight":{"disabled":"Sans mise-en-valeur","solid":"Fond uni","side":"Coté rayé","striped":"Fond rayé"},"bot":"Robot"},"user_profile":{"timeline_title":"Flux du compte","profile_does_not_exist":"Désolé, ce profil n\'existe pas.","profile_loading_error":"Désolé, il y a eu une erreur au chargement du profil."},"user_reporting":{"title":"Signaler {0}","add_comment_description":"Ce signalement sera envoyé aux modérateur⋅ice⋅s de votre instance. Vous pouvez fournir une explication de pourquoi vous signalez ce compte ci-dessous :","additional_comments":"Commentaires additionnels","forward_description":"Le compte vient d\'un autre serveur. Envoyer une copie du signalement à celui-ci aussi ?","forward_to":"Transmettre à {0}","submit":"Envoyer","generic_error":"Une erreur est survenue lors du traitement de votre requête."},"who_to_follow":{"more":"Plus","who_to_follow":"À qui s\'abonner"},"tool_tip":{"media_upload":"Envoyer un media","repeat":"Répéter","reply":"Répondre","favorite":"Favoriser","user_settings":"Paramètres utilisateur","add_reaction":"Ajouter une réaction","accept_follow_request":"Accepter la demande de suivit","reject_follow_request":"Rejeter la demande de suivit","bookmark":"Favori"},"upload":{"error":{"base":"L\'envoi a échoué.","file_too_big":"Fichier trop gros [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","default":"Réessayez plus tard","message":"Envoi échoué : {0}"},"file_size_units":{"B":"o","KiB":"Ko","MiB":"Mo","GiB":"Go","TiB":"To"}},"about":{"mrf":{"keyword":{"reject":"Rejette","replace":"Remplace","keyword_policies":"Filtrage par mots-clés","ftl_removal":"Suppression du flux fédéré","is_replaced_by":"→"},"simple":{"simple_policies":"Politiques par instances","accept":"Acceptées","accept_desc":"Cette instance accepte les messages seulement depuis ces instances :","reject":"Rejetées","reject_desc":"Cette instance n\'acceptera pas de message de ces instances :","quarantine":"Quarantaine","quarantine_desc":"Cette instance enverra seulement des messages publics à ces instances :","ftl_removal_desc":"Cette instance supprime les instance suivantes du flux fédéré :","media_removal":"Suppression des pièce-jointes","media_removal_desc":"Cette instance supprime le contenu multimédia des instances suivantes :","media_nsfw":"Force le contenu multimédia comme sensible","ftl_removal":"Supprimées du flux fédéré","media_nsfw_desc":"Cette instance force les pièce-jointes comme sensible pour les messages des instances suivantes :"},"federation":"Fédération","mrf_policies":"Politiques MRF actives","mrf_policies_desc":"Les politiques MRF modifient la fédération entre les instances. Les politiques suivantes sont activées :"},"staff":"Staff"},"domain_mute_card":{"mute":"Masqué","mute_progress":"Masquage…","unmute":"Démasquer","unmute_progress":"Démasquage…"},"polls":{"add_poll":"Ajouter un Sondage","add_option":"Ajouter une option","option":"Option","votes":"votes","type":"Type de Sondage","single_choice":"Choix unique","multiple_choices":"Choix multiples","expiry":"Age du sondage","expires_in":"Fin du sondage dans {0}","not_enough_options":"Trop peu d\'options unique au sondage","vote":"Voter","expired":"Sondage terminé il y a {0}","people_voted_count":"{count} voteur | {count} voteurs","votes_count":"{count} vote | {count} votes"},"emoji":{"emoji":"Émoji","search_emoji":"Rechercher un émoji","add_emoji":"Insérer un émoji","custom":"émoji personnalisé","unicode":"émoji unicode","load_all":"Charger tout les {emojiAmount} émojis","load_all_hint":"{saneAmount} émojis chargé, charger tout les émojis peuvent causer des problèmes de performances.","stickers":"Stickers","keep_open":"Garder ouvert"},"remote_user_resolver":{"error":"Non trouvé.","searching_for":"Recherche pour","remote_user_resolver":"Résolution de compte distant"},"time":{"minutes_short":"{0}min","second_short":"{0}s","day":"{0} jour","days":"{0} jours","months":"{0} mois","month_short":"{0}m","months_short":"{0}m","now":"tout de suite","now_short":"maintenant","second":"{0} seconde","seconds":"{0} secondes","seconds_short":"{0}s","day_short":"{0}j","days_short":"{0}j","hour":"{0} heure","hours":"{0} heures","hour_short":"{0}h","hours_short":"{0}h","in_future":"dans {0}","in_past":"il y a {0}","minute":"{0} minute","minutes":"{0} minutes","minute_short":"{0}min","month":"{0} mois","week":"{0} semaine","weeks":"{0} semaines","week_short":"{0}s","weeks_short":"{0}s","year":"{0} année","years":"{0} années","year_short":"{0}a","years_short":"{0}a"},"search":{"people":"Comptes","person_talking":"{count} personnes discutant","hashtags":"Mot-dièses","people_talking":"{count} personnes discutant","no_results":"Aucun résultats"},"password_reset":{"forgot_password":"Mot de passe oublié ?","check_email":"Vérifiez vos courriels pour le lien permettant de changer votre mot de passe.","password_reset_disabled":"Le changement de mot de passe est désactivé. Veuillez contacter l\'administration de votre instance.","password_reset_required_but_mailer_is_disabled":"Vous devez changer votre mot de passe mais sont changement est désactivé. Veuillez contacter l’administration de votre instance.","password_reset":"Nouveau mot de passe","instruction":"Entrer votre address de courriel ou votre nom utilisateur. Nous enverrons un lien pour changer votre mot de passe.","placeholder":"Votre email ou nom d\'utilisateur","return_home":"Retourner à la page d\'accueil","too_many_requests":"Vos avez atteint la limite d\'essais, essayez plus tard.","password_reset_required":"Vous devez changer votre mot de passe pour vous authentifier."},"errors":{"storage_unavailable":"Pleroma n\'a pas pu accéder au stockage du navigateur. Votre identifiant ou vos mots de passes ne seront sauvegardés et des problèmes pourront être rencontrés. Essayez d\'activer les cookies."},"shoutbox":{"title":"Shoutbox"},"display_date":{"today":"Aujourd\'hui"},"file_type":{"file":"Fichier","image":"Image","video":"Vidéo","audio":"Audio"},"chats":{"empty_chat_list_placeholder":"Vous n\'avez pas encore de discussions. Démarrez-en une nouvelle !","error_sending_message":"Quelque chose s\'est mal passé pendant l\'envoi du message.","error_loading_chat":"Quelque chose s\'est mal passé au chargement de la discussion.","delete_confirm":"Voulez-vous vraiment effacer ce message ?","more":"Plus","empty_message_error":"Impossible d\'envoyer un message vide","new":"Nouvelle discussion","chats":"Discussions","delete":"Effacer","message_user":"Message à {nickname}","you":"Vous :"}}')}}]); -//# sourceMappingURL=14.a2b9acaf9caa95d1fd7f.js.map \ No newline at end of file diff --git a/priv/static/static/js/14.a2b9acaf9caa95d1fd7f.js.map b/priv/static/static/js/14.a2b9acaf9caa95d1fd7f.js.map deleted file mode 100644 index c1a2c983f..000000000 --- a/priv/static/static/js/14.a2b9acaf9caa95d1fd7f.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/14.a2b9acaf9caa95d1fd7f.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/15.fe4e76f27cc478289a42.js b/priv/static/static/js/15.23f179cc3adc903bb537.js similarity index 98% rename from priv/static/static/js/15.fe4e76f27cc478289a42.js rename to priv/static/static/js/15.23f179cc3adc903bb537.js index 3005c67b3..d87608e34 100644 --- a/priv/static/static/js/15.fe4e76f27cc478289a42.js +++ b/priv/static/static/js/15.23f179cc3adc903bb537.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{595:function(a){a.exports=JSON.parse('{"chat":{"title":"Comhrá"},"features_panel":{"chat":"Comhrá","gopher":"Gófar","media_proxy":"Seachfhreastalaí meáin","scope_options":"Rogha scóip","text_limit":"Teorainn Téacs","title":"Gnéithe","who_to_follow":"Daoine le leanúint"},"finder":{"error_fetching_user":"Earráid a aimsiú d\'úsáideoir","find_user":"Aimsigh úsáideoir"},"general":{"apply":"Feidhmigh","submit":"Deimhnigh"},"login":{"login":"Logáil isteach","logout":"Logáil amach","password":"Pasfhocal","placeholder":"m.sh. Daire","register":"Clárú","username":"Ainm Úsáideora"},"nav":{"chat":"Comhrá Áitiúil","friend_requests":"Iarratas ar Cairdeas","mentions":"Tagairt","public_tl":"Amlíne Poiblí","timeline":"Amlíne","twkn":"An Líonra Iomlán"},"notifications":{"broken_favorite":"Post anaithnid. Cuardach dó…","favorited_you":"toghadh le do phost","followed_you":"lean tú","load_older":"Luchtaigh fógraí aosta","notifications":"Fógraí","read":"Léigh!","repeated_you":"athphostáil tú"},"post_status":{"account_not_locked_warning":"Níl do chuntas {0}. Is féidir le duine ar bith a leanúint leat chun do phoist leantacha amháin a fheiceáil.","account_not_locked_warning_link":"faoi glas","attachments_sensitive":"Marcáil ceangaltán mar íogair","content_type":{"text/plain":"Gnáth-théacs"},"content_warning":"Teideal (roghnach)","default":"Lá iontach anseo i nGaillimh","direct_warning":"Ní bheidh an post seo le feiceáil ach amháin do na húsáideoirí atá luaite.","posting":"Post nua","scope":{"direct":"Díreach - Post chuig úsáideoirí luaite amháin","private":"Leanúna amháin - Post chuig lucht leanúna amháin","public":"Poiblí - Post chuig amlínte poiblí","unlisted":"Neamhliostaithe - Ná cuir post chuig amlínte poiblí"}},"registration":{"bio":"Scéal saoil","email":"Ríomhphost","fullname":"Ainm taispeána\'","password_confirm":"Deimhnigh do pasfhocal","registration":"Clárú","token":"Cód cuireadh"},"settings":{"attachmentRadius":"Ceangaltáin","attachments":"Ceangaltáin","avatar":"Phictúir phrófíle","avatarAltRadius":"Phictúirí phrófíle (Fograí)","avatarRadius":"Phictúirí phrófíle","background":"Cúlra","bio":"Scéal saoil","btnRadius":"Cnaipí","cBlue":"Gorm (Freagra, lean)","cGreen":"Glas (Athphóstail)","cOrange":"Oráiste (Cosúil)","cRed":"Dearg (Cealaigh)","change_password":"Athraigh do pasfhocal","change_password_error":"Bhí fadhb ann ag athrú do pasfhocail.","changed_password":"Athraigh an pasfhocal go rathúil!","collapse_subject":"Poist a chosc le teidil","confirm_new_password":"Deimhnigh do pasfhocal nua","current_avatar":"Phictúir phrófíle","current_password":"Pasfhocal reatha","current_profile_banner":"Phictúir ceanntáisc","data_import_export_tab":"Iompórtáil / Easpórtáil Sonraí","default_vis":"Scóip infheicthe réamhshocraithe","delete_account":"Scrios cuntas","delete_account_description":"Do chuntas agus do chuid teachtaireachtaí go léir a scriosadh go buan.","delete_account_error":"Bhí fadhb ann a scriosadh do chuntas. Má leanann sé seo, téigh i dteagmháil le do riarthóir.","delete_account_instructions":"Scríobh do phasfhocal san ionchur thíos chun deimhniú a scriosadh.","export_theme":"Sábháil Téama","filtering":"Scagadh","filtering_explanation":"Beidh gach post ina bhfuil na focail seo i bhfolach, ceann in aghaidh an líne","follow_export":"Easpórtáil do leanann","follow_export_button":"Easpórtáil do leanann chuig comhad csv","follow_export_processing":"Próiseáil. Iarrtar ort go luath an comhad a íoslódáil.","follow_import":"Iompórtáil do leanann","follow_import_error":"Earráid agus do leanann a iompórtáil","follows_imported":"Do leanann iompórtáil! Tógfaidh an próiseas iad le tamall.","foreground":"Tulra","general":"Ginearálta","hide_attachments_in_convo":"Folaigh ceangaltáin i comhráite","hide_attachments_in_tl":"Folaigh ceangaltáin sa amlíne","hide_post_stats":"Folaigh staitisticí na bpost (m.sh. líon na n-athrá)","hide_user_stats":"Folaigh na staitisticí úsáideora (m.sh. líon na leantóiri)","import_followers_from_a_csv_file":"Iompórtáil leanann ó chomhad csv","import_theme":"Luchtaigh Téama","inputRadius":"Limistéar iontrála","instance_default":"(Réamhshocrú: {value})","interfaceLanguage":"Teanga comhéadain","invalid_theme_imported":"Ní téama bailí é an comhad dícheangailte. Níor rinneadh aon athruithe.","limited_availability":"Níl sé ar fáil i do bhrabhsálaí","links":"Naisc","lock_account_description":"Srian a chur ar do chuntas le lucht leanúna ceadaithe amháin","loop_video":"Lúb físeáin","loop_video_silent_only":"Lúb físeáin amháin gan fuaim (i.e. Mastodon\'s \\"gifs\\")","name":"Ainm","name_bio":"Ainm ⁊ Scéal","new_password":"Pasfhocal nua\'","notification_visibility":"Cineálacha fógraí a thaispeáint","notification_visibility_follows":"Leana","notification_visibility_likes":"Thaithin","notification_visibility_mentions":"Tagairt","notification_visibility_repeats":"Atphostáil","no_rich_text_description":"Bain formáidiú téacs saibhir ó gach post","nsfw_clickthrough":"Cumasaigh an ceangaltán NSFW cliceáil ar an gcnaipe","oauth_tokens":"Tocanna OAuth","token":"Token","refresh_token":"Athnuachan Comórtas","valid_until":"Bailí Go dtí","revoke_token":"Athghairm","panelRadius":"Painéil","pause_on_unfocused":"Sruthú ar sos nuair a bhíonn an fócas caillte","presets":"Réamhshocruithe","profile_background":"Cúlra Próifíl","profile_banner":"Phictúir Ceanntáisc","profile_tab":"Próifíl","radii_help":"Cruinniú imeall comhéadan a chumrú (i bpicteilíní)","replies_in_timeline":"Freagraí sa amlíne","reply_visibility_all":"Taispeáin gach freagra","reply_visibility_following":"Taispeáin freagraí amháin atá dírithe ar mise nó ar úsáideoirí atá mé ag leanúint","reply_visibility_self":"Taispeáin freagraí amháin atá dírithe ar mise","saving_err":"Earráid socruithe a shábháil","saving_ok":"Socruithe sábháilte","security_tab":"Slándáil","set_new_avatar":"Athraigh do phictúir phrófíle","set_new_profile_background":"Athraigh do cúlra próifíl","set_new_profile_banner":"Athraigh do phictúir ceanntáisc","settings":"Socruithe","stop_gifs":"Seinn GIFs ar an scáileán","streaming":"Cumasaigh post nua a shruthú uathoibríoch nuair a scrollaítear go barr an leathanaigh","text":"Téacs","theme":"Téama","theme_help":"Úsáid cód daith hex (#rrggbb) chun do schéim a saincheapadh.","tooltipRadius":"Bileoga eolais","user_settings":"Socruithe úsáideora","values":{"false":"níl","true":"tá"}},"time":{"day":"{0} lá","days":"{0} lá","day_short":"{0}l","days_short":"{0}l","hour":"{0} uair","hours":"{0} uair","hour_short":"{0}u","hours_short":"{0}u","in_future":"in {0}","in_past":"{0} ago","minute":"{0} nóimeád","minutes":"{0} nóimeád","minute_short":"{0}n","minutes_short":"{0}n","month":"{0} mí","months":"{0} mí","month_short":"{0}m","months_short":"{0}m","now":"Anois","now_short":"Anois","second":"{0} s","seconds":"{0} s","second_short":"{0}s","seconds_short":"{0}s","week":"{0} seachtain","weeks":"{0} seachtaine","week_short":"{0}se","weeks_short":"{0}se","year":"{0} bliainta","years":"{0} bliainta","year_short":"{0}b","years_short":"{0}b"},"timeline":{"collapse":"Folaigh","conversation":"Cómhra","error_fetching":"Earráid a thabhairt cothrom le dáta","load_older":"Luchtaigh níos mó","no_retweet_hint":"Tá an post seo marcáilte mar lucht leanúna amháin nó díreach agus ní féidir é a athphostáil","repeated":"athphostáil","show_new":"Taispeáin nua","up_to_date":"Nuashonraithe"},"user_card":{"approve":"Údaraigh","block":"Cosc","blocked":"Cuireadh coisc!","deny":"Diúltaigh","follow":"Lean","followees":"Leantóirí","followers":"Á Leanúint","following":"Á Leanúint","follows_you":"Leanann tú","mute":"Cuir i mód ciúin","muted":"Mód ciúin","per_day":"laethúil","remote_follow":"Leaníunt iargúlta","statuses":"Poist"},"user_profile":{"timeline_title":"Amlíne úsáideora"},"who_to_follow":{"more":"Feach uile","who_to_follow":"Daoine le leanúint"}}')}}]); -//# sourceMappingURL=15.fe4e76f27cc478289a42.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[15],{608:function(a){a.exports=JSON.parse('{"chat":{"title":"Comhrá"},"features_panel":{"chat":"Comhrá","gopher":"Gófar","media_proxy":"Seachfhreastalaí meáin","scope_options":"Rogha scóip","text_limit":"Teorainn Téacs","title":"Gnéithe","who_to_follow":"Daoine le leanúint"},"finder":{"error_fetching_user":"Earráid a aimsiú d\'úsáideoir","find_user":"Aimsigh úsáideoir"},"general":{"apply":"Feidhmigh","submit":"Deimhnigh"},"login":{"login":"Logáil isteach","logout":"Logáil amach","password":"Pasfhocal","placeholder":"m.sh. Daire","register":"Clárú","username":"Ainm Úsáideora"},"nav":{"chat":"Comhrá Áitiúil","friend_requests":"Iarratas ar Cairdeas","mentions":"Tagairt","public_tl":"Amlíne Poiblí","timeline":"Amlíne","twkn":"An Líonra Iomlán"},"notifications":{"broken_favorite":"Post anaithnid. Cuardach dó…","favorited_you":"toghadh le do phost","followed_you":"lean tú","load_older":"Luchtaigh fógraí aosta","notifications":"Fógraí","read":"Léigh!","repeated_you":"athphostáil tú"},"post_status":{"account_not_locked_warning":"Níl do chuntas {0}. Is féidir le duine ar bith a leanúint leat chun do phoist leantacha amháin a fheiceáil.","account_not_locked_warning_link":"faoi glas","attachments_sensitive":"Marcáil ceangaltán mar íogair","content_type":{"text/plain":"Gnáth-théacs"},"content_warning":"Teideal (roghnach)","default":"Lá iontach anseo i nGaillimh","direct_warning":"Ní bheidh an post seo le feiceáil ach amháin do na húsáideoirí atá luaite.","posting":"Post nua","scope":{"direct":"Díreach - Post chuig úsáideoirí luaite amháin","private":"Leanúna amháin - Post chuig lucht leanúna amháin","public":"Poiblí - Post chuig amlínte poiblí","unlisted":"Neamhliostaithe - Ná cuir post chuig amlínte poiblí"}},"registration":{"bio":"Scéal saoil","email":"Ríomhphost","fullname":"Ainm taispeána\'","password_confirm":"Deimhnigh do pasfhocal","registration":"Clárú","token":"Cód cuireadh"},"settings":{"attachmentRadius":"Ceangaltáin","attachments":"Ceangaltáin","avatar":"Phictúir phrófíle","avatarAltRadius":"Phictúirí phrófíle (Fograí)","avatarRadius":"Phictúirí phrófíle","background":"Cúlra","bio":"Scéal saoil","btnRadius":"Cnaipí","cBlue":"Gorm (Freagra, lean)","cGreen":"Glas (Athphóstail)","cOrange":"Oráiste (Cosúil)","cRed":"Dearg (Cealaigh)","change_password":"Athraigh do pasfhocal","change_password_error":"Bhí fadhb ann ag athrú do pasfhocail.","changed_password":"Athraigh an pasfhocal go rathúil!","collapse_subject":"Poist a chosc le teidil","confirm_new_password":"Deimhnigh do pasfhocal nua","current_avatar":"Phictúir phrófíle","current_password":"Pasfhocal reatha","current_profile_banner":"Phictúir ceanntáisc","data_import_export_tab":"Iompórtáil / Easpórtáil Sonraí","default_vis":"Scóip infheicthe réamhshocraithe","delete_account":"Scrios cuntas","delete_account_description":"Do chuntas agus do chuid teachtaireachtaí go léir a scriosadh go buan.","delete_account_error":"Bhí fadhb ann a scriosadh do chuntas. Má leanann sé seo, téigh i dteagmháil le do riarthóir.","delete_account_instructions":"Scríobh do phasfhocal san ionchur thíos chun deimhniú a scriosadh.","export_theme":"Sábháil Téama","filtering":"Scagadh","filtering_explanation":"Beidh gach post ina bhfuil na focail seo i bhfolach, ceann in aghaidh an líne","follow_export":"Easpórtáil do leanann","follow_export_button":"Easpórtáil do leanann chuig comhad csv","follow_export_processing":"Próiseáil. Iarrtar ort go luath an comhad a íoslódáil.","follow_import":"Iompórtáil do leanann","follow_import_error":"Earráid agus do leanann a iompórtáil","follows_imported":"Do leanann iompórtáil! Tógfaidh an próiseas iad le tamall.","foreground":"Tulra","general":"Ginearálta","hide_attachments_in_convo":"Folaigh ceangaltáin i comhráite","hide_attachments_in_tl":"Folaigh ceangaltáin sa amlíne","hide_post_stats":"Folaigh staitisticí na bpost (m.sh. líon na n-athrá)","hide_user_stats":"Folaigh na staitisticí úsáideora (m.sh. líon na leantóiri)","import_followers_from_a_csv_file":"Iompórtáil leanann ó chomhad csv","import_theme":"Luchtaigh Téama","inputRadius":"Limistéar iontrála","instance_default":"(Réamhshocrú: {value})","interfaceLanguage":"Teanga comhéadain","invalid_theme_imported":"Ní téama bailí é an comhad dícheangailte. Níor rinneadh aon athruithe.","limited_availability":"Níl sé ar fáil i do bhrabhsálaí","links":"Naisc","lock_account_description":"Srian a chur ar do chuntas le lucht leanúna ceadaithe amháin","loop_video":"Lúb físeáin","loop_video_silent_only":"Lúb físeáin amháin gan fuaim (i.e. Mastodon\'s \\"gifs\\")","name":"Ainm","name_bio":"Ainm ⁊ Scéal","new_password":"Pasfhocal nua\'","notification_visibility":"Cineálacha fógraí a thaispeáint","notification_visibility_follows":"Leana","notification_visibility_likes":"Thaithin","notification_visibility_mentions":"Tagairt","notification_visibility_repeats":"Atphostáil","no_rich_text_description":"Bain formáidiú téacs saibhir ó gach post","nsfw_clickthrough":"Cumasaigh an ceangaltán NSFW cliceáil ar an gcnaipe","oauth_tokens":"Tocanna OAuth","token":"Token","refresh_token":"Athnuachan Comórtas","valid_until":"Bailí Go dtí","revoke_token":"Athghairm","panelRadius":"Painéil","pause_on_unfocused":"Sruthú ar sos nuair a bhíonn an fócas caillte","presets":"Réamhshocruithe","profile_background":"Cúlra Próifíl","profile_banner":"Phictúir Ceanntáisc","profile_tab":"Próifíl","radii_help":"Cruinniú imeall comhéadan a chumrú (i bpicteilíní)","replies_in_timeline":"Freagraí sa amlíne","reply_visibility_all":"Taispeáin gach freagra","reply_visibility_following":"Taispeáin freagraí amháin atá dírithe ar mise nó ar úsáideoirí atá mé ag leanúint","reply_visibility_self":"Taispeáin freagraí amháin atá dírithe ar mise","saving_err":"Earráid socruithe a shábháil","saving_ok":"Socruithe sábháilte","security_tab":"Slándáil","set_new_avatar":"Athraigh do phictúir phrófíle","set_new_profile_background":"Athraigh do cúlra próifíl","set_new_profile_banner":"Athraigh do phictúir ceanntáisc","settings":"Socruithe","stop_gifs":"Seinn GIFs ar an scáileán","streaming":"Cumasaigh post nua a shruthú uathoibríoch nuair a scrollaítear go barr an leathanaigh","text":"Téacs","theme":"Téama","theme_help":"Úsáid cód daith hex (#rrggbb) chun do schéim a saincheapadh.","tooltipRadius":"Bileoga eolais","user_settings":"Socruithe úsáideora","values":{"false":"níl","true":"tá"}},"time":{"day":"{0} lá","days":"{0} lá","day_short":"{0}l","days_short":"{0}l","hour":"{0} uair","hours":"{0} uair","hour_short":"{0}u","hours_short":"{0}u","in_future":"in {0}","in_past":"{0} ago","minute":"{0} nóimeád","minutes":"{0} nóimeád","minute_short":"{0}n","minutes_short":"{0}n","month":"{0} mí","months":"{0} mí","month_short":"{0}m","months_short":"{0}m","now":"Anois","now_short":"Anois","second":"{0} s","seconds":"{0} s","second_short":"{0}s","seconds_short":"{0}s","week":"{0} seachtain","weeks":"{0} seachtaine","week_short":"{0}se","weeks_short":"{0}se","year":"{0} bliainta","years":"{0} bliainta","year_short":"{0}b","years_short":"{0}b"},"timeline":{"collapse":"Folaigh","conversation":"Cómhra","error_fetching":"Earráid a thabhairt cothrom le dáta","load_older":"Luchtaigh níos mó","no_retweet_hint":"Tá an post seo marcáilte mar lucht leanúna amháin nó díreach agus ní féidir é a athphostáil","repeated":"athphostáil","show_new":"Taispeáin nua","up_to_date":"Nuashonraithe"},"user_card":{"approve":"Údaraigh","block":"Cosc","blocked":"Cuireadh coisc!","deny":"Diúltaigh","follow":"Lean","followees":"Leantóirí","followers":"Á Leanúint","following":"Á Leanúint","follows_you":"Leanann tú","mute":"Cuir i mód ciúin","muted":"Mód ciúin","per_day":"laethúil","remote_follow":"Leaníunt iargúlta","statuses":"Poist"},"user_profile":{"timeline_title":"Amlíne úsáideora"},"who_to_follow":{"more":"Feach uile","who_to_follow":"Daoine le leanúint"}}')}}]); +//# sourceMappingURL=15.23f179cc3adc903bb537.js.map \ No newline at end of file diff --git a/priv/static/static/js/15.23f179cc3adc903bb537.js.map b/priv/static/static/js/15.23f179cc3adc903bb537.js.map new file mode 100644 index 000000000..15811ea18 --- /dev/null +++ b/priv/static/static/js/15.23f179cc3adc903bb537.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/15.23f179cc3adc903bb537.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/15.fe4e76f27cc478289a42.js.map b/priv/static/static/js/15.fe4e76f27cc478289a42.js.map deleted file mode 100644 index 7177387b7..000000000 --- a/priv/static/static/js/15.fe4e76f27cc478289a42.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/15.fe4e76f27cc478289a42.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/16.90b5ee380da41d6d061c.js b/priv/static/static/js/16.43dd2c64dcb160dd96a6.js similarity index 81% rename from priv/static/static/js/16.90b5ee380da41d6d061c.js rename to priv/static/static/js/16.43dd2c64dcb160dd96a6.js index f3a4fadd4..abed0132f 100644 --- a/priv/static/static/js/16.90b5ee380da41d6d061c.js +++ b/priv/static/static/js/16.43dd2c64dcb160dd96a6.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{596:function(e){e.exports=JSON.parse('{"chat":{"title":"צ\'אט"},"exporter":{"export":"ייצוא","processing":"מעבד, בקרוב תופיע אפשרות להוריד את הקובץ"},"features_panel":{"chat":"צ\'אט","gopher":"גופר","media_proxy":"מדיה פרוקסי","scope_options":"אפשרויות טווח","text_limit":"מגבלת טקסט","title":"מאפיינים","who_to_follow":"אחרי מי לעקוב"},"finder":{"error_fetching_user":"שגיאה במציאת משתמש","find_user":"מציאת משתמש"},"general":{"apply":"החל","submit":"שלח","more":"עוד","generic_error":"קרתה שגיאה","optional":"לבחירה","show_more":"הראה עוד","show_less":"הראה פחות","cancel":"בטל"},"image_cropper":{"crop_picture":"חתוך תמונה","save":"שמור","save_without_cropping":"שמור בלי לחתוך","cancel":"בטל"},"importer":{"submit":"שלח","success":"ייובא בהצלחה.","error":"אירעתה שגיאה בזמן ייבוא קובץ זה."},"login":{"login":"התחבר","description":"היכנס עם OAuth","logout":"התנתק","password":"סיסמה","placeholder":"למשל lain","register":"הירשם","username":"שם המשתמש","hint":"הירשם על מנת להצטרף לדיון"},"media_modal":{"previous":"הקודם","next":"הבא"},"nav":{"about":"על-אודות","back":"חזור","chat":"צ\'אט מקומי","friend_requests":"בקשות עקיבה","mentions":"אזכורים","interactions":"אינטרקציות","dms":"הודעות ישירות","public_tl":"ציר הזמן הציבורי","timeline":"ציר הזמן","twkn":"כל הרשת הידועה","user_search":"חיפוש משתמש","who_to_follow":"אחרי מי לעקוב","preferences":"העדפות"},"notifications":{"broken_favorite":"סטאטוס לא ידוע, מחפש…","favorited_you":"אהב את הסטטוס שלך","followed_you":"עקב אחריך","load_older":"טען התראות ישנות","notifications":"התראות","read":"קרא!","repeated_you":"חזר על הסטטוס שלך","no_more_notifications":"לא עוד התראות"},"interactions":{"favs_repeats":"חזרות ומועדפים","follows":"עוקבים חדשים","load_older":"טען אינטרקציות ישנות"},"post_status":{"new_status":"פרסם סטאטוס חדש","account_not_locked_warning":"המשתמש שלך אינו {0}. כל אחד יכול לעקוב אחריך ולראות את ההודעות לעוקבים-בלבד שלך.","account_not_locked_warning_link":"נעול","attachments_sensitive":"סמן מסמכים מצורפים כלא בטוחים לצפייה","content_type":{"text/plain":"טקסט פשוט","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},"content_warning":"נושא (נתון לבחירה)","default":"הרגע נחת ב-ל.א.","direct_warning_to_all":"הודעה זו תהיה נראית לכל המשתמשים המוזכרים.","direct_warning_to_first_only":"הודעה זו תהיה נראית לכל המשתמשים במוזכרים בתחילת ההודעה בלבד.","posting":"מפרסם","scope_notice":{"public":"הודעה זו תהיה נראית לכולם","private":"הודעה זו תהיה נראית לעוקבים שלך בלבד","unlisted":"הודעה זו לא תהיה נראית בציר זמן הציבורי או בכל הרשת הידועה"},"scope":{"direct":"ישיר - שלח לאנשים המוזכרים בלבד","private":"עוקבים-בלבד - שלח לעוקבים בלבד","public":"ציבורי - שלח לציר הזמן הציבורי","unlisted":"מחוץ לרשימה - אל תשלח לציר הזמן הציבורי"}},"registration":{"bio":"אודות","email":"אימייל","fullname":"שם תצוגה","password_confirm":"אישור סיסמה","registration":"הרשמה","token":"טוקן הזמנה","captcha":"אימות אנוש","new_captcha":"לחץ על התמונה על מנת לקבל אימות אנוש חדש","username_placeholder":"למשל lain","fullname_placeholder":"למשל Lain Iwakura","bio_placeholder":"למשל\\nהיי, אני ליין.\\nאני ילדת אנימה שגרה בפרוורי יפן. אולי אתם מכירים אותי מהWired.","validations":{"username_required":"לא יכול להישאר ריק","fullname_required":"לא יכול להישאר ריק","email_required":"לא יכול להישאר ריק","password_required":"לא יכול להישאר ריק","password_confirmation_required":"לא יכול להישאר ריק","password_confirmation_match":"צריך להיות דומה לסיסמה"}},"selectable_list":{"select_all":"בחר הכל"},"settings":{"app_name":"שם האפליקציה","attachmentRadius":"צירופים","attachments":"צירופים","avatar":"תמונת פרופיל","avatarAltRadius":"תמונות פרופיל (התראות)","avatarRadius":"תמונות פרופיל","background":"רקע","bio":"אודות","block_export":"ייצוא חסימות","block_export_button":"ייצוא חסימות אל קובץ csv","block_import":"ייבוא חסימות","block_import_error":"שגיאה בייבוא החסימות","blocks_imported":"החסימות יובאו! ייקח מעט זמן לעבד אותן.","blocks_tab":"חסימות","btnRadius":"כפתורים","cBlue":"כחול (תגובה, עקיבה)","cGreen":"ירוק (חזרה)","cOrange":"כתום (לייק)","cRed":"אדום (ביטול)","change_password":"שנה סיסמה","change_password_error":"הייתה בעיה בשינוי סיסמתך.","changed_password":"סיסמה שונתה בהצלחה!","collapse_subject":"מזער הודעות עם נושאים","composing":"מרכיב","confirm_new_password":"אשר סיסמה","current_avatar":"תמונת הפרופיל הנוכחית שלך","current_password":"סיסמה נוכחית","current_profile_banner":"כרזת הפרופיל הנוכחית שלך","data_import_export_tab":"ייבוא או ייצוא מידע","default_vis":"ברירת מחדל לטווח הנראות","delete_account":"מחק משתמש","delete_account_description":"מחק לצמיתות את המשתמש שלך ואת כל הודעותיך.","delete_account_error":"הייתה בעיה במחיקת המשתמש. אם זה ממשיך, אנא עדכן את מנהל השרת שלך.","delete_account_instructions":"הכנס את סיסמתך בקלט למטה על מנת לאשר מחיקת משתמש.","avatar_size_instruction":"הגודל המינימלי המומלץ לתמונות פרופיל הוא 150x150 פיקסלים.","export_theme":"שמור ערכים","filtering":"סינון","filtering_explanation":"כל הסטטוסים הכוללים את המילים הללו יושתקו, אחד לשורה","follow_export":"יצוא עקיבות","follow_export_button":"ייצא את הנעקבים שלך לקובץ csv","follow_import":"יבוא עקיבות","follow_import_error":"שגיאה בייבוא נעקבים","follows_imported":"נעקבים יובאו! ייקח זמן מה לעבד אותם.","foreground":"חזית","general":"כללי","hide_attachments_in_convo":"החבא צירופים בשיחות","hide_attachments_in_tl":"החבא צירופים בציר הזמן","hide_muted_posts":"הסתר הודעות של משתמשים מושתקים","max_thumbnails":"מספר מירבי של תמונות ממוזערות להודעה","hide_isp":"הסתר פאנל-צד","preload_images":"טען תמונות מראש","use_one_click_nsfw":"פתח תמונות לא-בטוחות-לעבודה עם לחיצה אחת בלבד","hide_post_stats":"הסתר נתוני הודעה (למשל, מספר החזרות)","hide_user_stats":"הסתר נתוני משתמש (למשל, מספר העוקבים)","hide_filtered_statuses":"מסתר סטטוסים מסוננים","import_blocks_from_a_csv_file":"ייבא חסימות מקובץ csv","import_followers_from_a_csv_file":"ייבא את הנעקבים שלך מקובץ csv","import_theme":"טען ערכים","inputRadius":"שדות קלט","checkboxRadius":"תיבות סימון","instance_default":"(default: {value})","instance_default_simple":"(default)","interface":"ממשק","interfaceLanguage":"שפת הממשק","invalid_theme_imported":"הקובץ הנבחר אינו תמה הנתמכת ע\\"י פלרומה. שום שינויים לא נעשו לתמה שלך.","limited_availability":"לא זמין בדפדפן שלך","links":"לינקים","lock_account_description":"הגבל את המשתמש לעוקבים מאושרים בלבד","loop_video":"נגן סרטונים ללא הפסקה","loop_video_silent_only":"נגן רק סרטונים חסרי קול ללא הפסקה","mutes_tab":"השתקות","play_videos_in_modal":"נגן סרטונים ישירות בנגן המדיה","use_contain_fit":"אל תחתוך את הצירוף בתמונות הממוזערות","name":"שם","name_bio":"שם ואודות","new_password":"סיסמה חדשה","notification_visibility":"סוג ההתראות שתרצו לראות","notification_visibility_follows":"עקיבות","notification_visibility_likes":"לייקים","notification_visibility_mentions":"אזכורים","notification_visibility_repeats":"חזרות","no_rich_text_description":"הסר פורמט טקסט עשיר מכל ההודעות","no_blocks":"ללא חסימות","no_mutes":"ללא השתקות","hide_follows_description":"אל תראה אחרי מי אני עוקב","hide_followers_description":"אל תראה מי עוקב אחרי","show_admin_badge":"הראה סמל מנהל בפרופיל שלי","show_moderator_badge":"הראה סמל צוות בפרופיל שלי","nsfw_clickthrough":"החל החבאת צירופים לא בטוחים לצפיה בעת עבודה בעזרת לחיצת עכבר","oauth_tokens":"אסימוני OAuth","token":"אסימון","refresh_token":"רענון האסימון","valid_until":"בתוקף עד","revoke_token":"בטל","panelRadius":"פאנלים","pause_on_unfocused":"השהה זרימת הודעות כשהחלון לא בפוקוס","presets":"ערכים קבועים מראש","profile_background":"רקע הפרופיל","profile_banner":"כרזת הפרופיל","profile_tab":"פרופיל","radii_help":"קבע מראש עיגול פינות לממשק (בפיקסלים)","replies_in_timeline":"תגובות בציר הזמן","reply_visibility_all":"הראה את כל התגובות","reply_visibility_following":"הראה תגובות שמופנות אליי או לעקובים שלי בלבד","reply_visibility_self":"הראה תגובות שמופנות אליי בלבד","autohide_floating_post_button":"החבא אוטומטית את הכפתור הודעה חדשה (נייד)","saving_err":"שגיאה בשמירת הגדרות","saving_ok":"הגדרות נשמרו","search_user_to_block":"חפש משתמש לחסימה","search_user_to_mute":"חפש משתמש להשתקה","security_tab":"ביטחון","scope_copy":"העתק תחום הודעה בתגובה להודעה (הודעות ישירות תמיד מועתקות)","minimal_scopes_mode":"צמצם אפשרויות בחירה לתחום הודעה","set_new_avatar":"קבע תמונת פרופיל חדשה","set_new_profile_background":"קבע רקע פרופיל חדש","set_new_profile_banner":"קבע כרזת פרופיל חדשה","settings":"הגדרות","subject_input_always_show":"תמיד הראה את שדה הנושא","subject_line_behavior":"העתק נושא בתגובה","subject_line_email":"כמו אימייל: \\"re: נושא\\"","subject_line_mastodon":"כמו מסטודון: העתק כפי שזה","subject_line_noop":"אל תעתיק","post_status_content_type":"שלח את סוג תוכן ההודעה","stop_gifs":"נגן-בעת-ריחוף GIFs","streaming":"החל זרימת הודעות אוטומטית בעת גלילה למעלה הדף","text":"טקסט","theme":"תמה","theme_help":"השתמש בקודי צבע הקס (#אדום-אדום-ירוק-ירוק-כחול-כחול) על מנת להתאים אישית את תמת הצבע שלך.","tooltipRadius":"טולטיפ \\\\ התראות","upload_a_photo":"העלה תמונה","user_settings":"הגדרות משתמש","values":{"false":"לא","true":"כן"},"notifications":"התראות","enable_web_push_notifications":"אפשר התראות web push","version":{"title":"גרסה","backend_version":"גרסת קצה אחורי","frontend_version":"גרסת קצה קדמי"}},"timeline":{"collapse":"מוטט","conversation":"שיחה","error_fetching":"שגיאה בהבאת הודעות","load_older":"טען סטטוסים חדשים","no_retweet_hint":"ההודעה מסומנת כ\\"לעוקבים-בלבד\\" ולא ניתן לחזור עליה","repeated":"חזר","show_new":"הראה חדש","up_to_date":"עדכני","no_more_statuses":"אין עוד סטטוסים","no_statuses":"אין סטטוסים"},"status":{"favorites":"מועדפים","repeats":"חזרות","delete":"מחק סטטוס","pin":"הצמד לפרופיל","unpin":"הסר הצמדה מהפרופיל","pinned":"מוצמד","delete_confirm":"האם באמת למחוק סטטוס זה?","reply_to":"הגב ל","replies_list":"תגובות:"},"user_card":{"approve":"אשר","block":"חסימה","blocked":"חסום!","deny":"דחה","favorites":"מועדפים","follow":"עקוב","follow_sent":"בקשה נשלחה!","follow_progress":"מבקש…","follow_again":"שלח בקשה שוב?","follow_unfollow":"בטל עקיבה","followees":"נעקבים","followers":"עוקבים","following":"עוקב!","follows_you":"עוקב אחריך!","its_you":"זה אתה!","media":"מדיה","mute":"השתק","muted":"מושתק","per_day":"ליום","remote_follow":"עקיבה מרחוק","report":"דווח","statuses":"סטטוסים","unblock":"הסר חסימה","unblock_progress":"מסיר חסימה…","block_progress":"חוסם…","unmute":"הסר השתקה","unmute_progress":"מסיר השתקה…","mute_progress":"משתיק…","admin_menu":{"moderation":"ניהול (צוות)","grant_admin":"הפוך למנהל","revoke_admin":"הסר מנהל","grant_moderator":"הפוך לצוות","revoke_moderator":"הסר צוות","activate_account":"הפעל משתמש","deactivate_account":"השבת משתמש","delete_account":"מחק משתמש","force_nsfw":"סמן את כל ההודעות בתור לא-מתאימות-לעבודה","strip_media":"הסר מדיה מההודעות","force_unlisted":"הפוך הודעות ללא רשומות","sandbox":"הפוך הודעות לנראות לעוקבים-בלבד","disable_remote_subscription":"אל תאפשר עקיבה של המשתמש מאינסטנס אחר","disable_any_subscription":"אל תאפשר עקיבה של המשתמש בכלל","quarantine":"אל תאפשר פדרציה של ההודעות של המשתמש","delete_user":"מחק משתמש","delete_user_confirmation":"בטוח? פעולה זו הינה בלתי הפיכה."}},"user_profile":{"timeline_title":"ציר זמן המשתמש","profile_does_not_exist":"סליחה, פרופיל זה אינו קיים.","profile_loading_error":"סליחה, הייתה שגיאה בטעינת הפרופיל."},"user_reporting":{"title":"מדווח על {0}","add_comment_description":"הדיווח ישלח לצוות האינסטנס. אפשר להסביר למה הנך מדווחים על משתמש זה למטה:","additional_comments":"תגובות נוספות","forward_description":"המשתמש משרת אחר. לשלוח לשם עותק של הדיווח?","forward_to":"העבר ל {0}","submit":"הגש","generic_error":"קרתה שגיאה בעת עיבוד הבקשה."},"who_to_follow":{"more":"עוד","who_to_follow":"אחרי מי לעקוב"},"tool_tip":{"media_upload":"העלה מדיה","repeat":"חזור","reply":"הגב","favorite":"מועדף","user_settings":"הגדרות משתמש"},"upload":{"error":{"base":"העלאה נכשלה.","file_too_big":"קובץ גדול מדי [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","default":"נסה שוב אחר כך"},"file_size_units":{"B":"B","KiB":"KiB","MiB":"MiB","GiB":"GiB","TiB":"TiB"}},"about":{"mrf":{"keyword":{"keyword_policies":"פוליסת מילות מפתח"},"federation":"פדרציה"}}}')}}]); -//# sourceMappingURL=16.90b5ee380da41d6d061c.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[16],{609:function(e){e.exports=JSON.parse('{"chat":{"title":"צ\'אט"},"exporter":{"export":"ייצוא","processing":"מעבד, בקרוב תופיע אפשרות להוריד את הקובץ"},"features_panel":{"chat":"צ\'אט","gopher":"גופר","media_proxy":"מדיה פרוקסי","scope_options":"אפשרויות טווח","text_limit":"מגבלת טקסט","title":"מאפיינים","who_to_follow":"אחרי מי לעקוב"},"finder":{"error_fetching_user":"שגיאה במציאת משתמש","find_user":"מציאת משתמש"},"general":{"apply":"החל","submit":"שלח","more":"עוד","generic_error":"קרתה שגיאה","optional":"לבחירה","show_more":"הראה עוד","show_less":"הראה פחות","cancel":"בטל"},"image_cropper":{"crop_picture":"חתוך תמונה","save":"שמור","save_without_cropping":"שמור בלי לחתוך","cancel":"בטל"},"importer":{"submit":"שלח","success":"ייובא בהצלחה.","error":"אירעתה שגיאה בזמן ייבוא קובץ זה."},"login":{"login":"התחבר","description":"היכנס עם OAuth","logout":"התנתק","password":"סיסמה","placeholder":"למשל lain","register":"הירשם","username":"שם המשתמש","hint":"הירשם על מנת להצטרף לדיון"},"media_modal":{"previous":"הקודם","next":"הבא"},"nav":{"about":"על-אודות","back":"חזור","chat":"צ\'אט מקומי","friend_requests":"בקשות עקיבה","mentions":"אזכורים","interactions":"אינטרקציות","dms":"הודעות ישירות","public_tl":"ציר הזמן הציבורי","timeline":"ציר הזמן","twkn":"כל הרשת הידועה","user_search":"חיפוש משתמש","who_to_follow":"אחרי מי לעקוב","preferences":"העדפות"},"notifications":{"broken_favorite":"סטאטוס לא ידוע, מחפש…","favorited_you":"אהב את הסטטוס שלך","followed_you":"עקב אחריך","load_older":"טען התראות ישנות","notifications":"התראות","read":"קרא!","repeated_you":"חזר על הסטטוס שלך","no_more_notifications":"לא עוד התראות"},"interactions":{"favs_repeats":"חזרות ומועדפים","follows":"עוקבים חדשים","load_older":"טען אינטרקציות ישנות"},"post_status":{"new_status":"פרסם סטאטוס חדש","account_not_locked_warning":"המשתמש שלך אינו {0}. כל אחד יכול לעקוב אחריך ולראות את ההודעות לעוקבים-בלבד שלך.","account_not_locked_warning_link":"נעול","attachments_sensitive":"סמן מסמכים מצורפים כלא בטוחים לצפייה","content_type":{"text/plain":"טקסט פשוט","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},"content_warning":"נושא (נתון לבחירה)","default":"הרגע נחת ב-ל.א.","direct_warning_to_all":"הודעה זו תהיה נראית לכל המשתמשים המוזכרים.","direct_warning_to_first_only":"הודעה זו תהיה נראית לכל המשתמשים במוזכרים בתחילת ההודעה בלבד.","posting":"מפרסם","scope_notice":{"public":"הודעה זו תהיה נראית לכולם","private":"הודעה זו תהיה נראית לעוקבים שלך בלבד","unlisted":"הודעה זו לא תהיה נראית בציר זמן הציבורי או בכל הרשת הידועה"},"scope":{"direct":"ישיר - שלח לאנשים המוזכרים בלבד","private":"עוקבים-בלבד - שלח לעוקבים בלבד","public":"ציבורי - שלח לציר הזמן הציבורי","unlisted":"מחוץ לרשימה - אל תשלח לציר הזמן הציבורי"}},"registration":{"bio":"אודות","email":"אימייל","fullname":"שם תצוגה","password_confirm":"אישור סיסמה","registration":"הרשמה","token":"טוקן הזמנה","captcha":"אימות אנוש","new_captcha":"לחץ על התמונה על מנת לקבל אימות אנוש חדש","username_placeholder":"למשל lain","fullname_placeholder":"למשל Lain Iwakura","bio_placeholder":"למשל\\nהיי, אני ליין.\\nאני ילדת אנימה שגרה בפרוורי יפן. אולי אתם מכירים אותי מהWired.","validations":{"username_required":"לא יכול להישאר ריק","fullname_required":"לא יכול להישאר ריק","email_required":"לא יכול להישאר ריק","password_required":"לא יכול להישאר ריק","password_confirmation_required":"לא יכול להישאר ריק","password_confirmation_match":"צריך להיות דומה לסיסמה"}},"selectable_list":{"select_all":"בחר הכל"},"settings":{"app_name":"שם האפליקציה","attachmentRadius":"צירופים","attachments":"צירופים","avatar":"תמונת פרופיל","avatarAltRadius":"תמונות פרופיל (התראות)","avatarRadius":"תמונות פרופיל","background":"רקע","bio":"אודות","block_export":"ייצוא חסימות","block_export_button":"ייצוא חסימות אל קובץ csv","block_import":"ייבוא חסימות","block_import_error":"שגיאה בייבוא החסימות","blocks_imported":"החסימות יובאו! ייקח מעט זמן לעבד אותן.","blocks_tab":"חסימות","btnRadius":"כפתורים","cBlue":"כחול (תגובה, עקיבה)","cGreen":"ירוק (חזרה)","cOrange":"כתום (לייק)","cRed":"אדום (ביטול)","change_password":"שנה סיסמה","change_password_error":"הייתה בעיה בשינוי סיסמתך.","changed_password":"סיסמה שונתה בהצלחה!","collapse_subject":"מזער הודעות עם נושאים","composing":"מרכיב","confirm_new_password":"אשר סיסמה","current_avatar":"תמונת הפרופיל הנוכחית שלך","current_password":"סיסמה נוכחית","current_profile_banner":"כרזת הפרופיל הנוכחית שלך","data_import_export_tab":"ייבוא או ייצוא מידע","default_vis":"ברירת מחדל לטווח הנראות","delete_account":"מחק משתמש","delete_account_description":"מחק לצמיתות את המשתמש שלך ואת כל הודעותיך.","delete_account_error":"הייתה בעיה במחיקת המשתמש. אם זה ממשיך, אנא עדכן את מנהל השרת שלך.","delete_account_instructions":"הכנס את סיסמתך בקלט למטה על מנת לאשר מחיקת משתמש.","avatar_size_instruction":"הגודל המינימלי המומלץ לתמונות פרופיל הוא 150x150 פיקסלים.","export_theme":"שמור ערכים","filtering":"סינון","filtering_explanation":"כל הסטטוסים הכוללים את המילים הללו יושתקו, אחד לשורה","follow_export":"יצוא עקיבות","follow_export_button":"ייצא את הנעקבים שלך לקובץ csv","follow_import":"יבוא עקיבות","follow_import_error":"שגיאה בייבוא נעקבים","follows_imported":"נעקבים יובאו! ייקח זמן מה לעבד אותם.","foreground":"חזית","general":"כללי","hide_attachments_in_convo":"החבא צירופים בשיחות","hide_attachments_in_tl":"החבא צירופים בציר הזמן","hide_muted_posts":"הסתר הודעות של משתמשים מושתקים","max_thumbnails":"מספר מירבי של תמונות ממוזערות להודעה","hide_isp":"הסתר פאנל-צד","preload_images":"טען תמונות מראש","use_one_click_nsfw":"פתח תמונות לא-בטוחות-לעבודה עם לחיצה אחת בלבד","hide_post_stats":"הסתר נתוני הודעה (למשל, מספר החזרות)","hide_user_stats":"הסתר נתוני משתמש (למשל, מספר העוקבים)","hide_filtered_statuses":"מסתר סטטוסים מסוננים","import_blocks_from_a_csv_file":"ייבא חסימות מקובץ csv","import_followers_from_a_csv_file":"ייבא את הנעקבים שלך מקובץ csv","import_theme":"טען ערכים","inputRadius":"שדות קלט","checkboxRadius":"תיבות סימון","instance_default":"(default: {value})","instance_default_simple":"(default)","interface":"ממשק","interfaceLanguage":"שפת הממשק","invalid_theme_imported":"הקובץ הנבחר אינו תמה הנתמכת ע\\"י פלרומה. שום שינויים לא נעשו לתמה שלך.","limited_availability":"לא זמין בדפדפן שלך","links":"לינקים","lock_account_description":"הגבל את המשתמש לעוקבים מאושרים בלבד","loop_video":"נגן סרטונים ללא הפסקה","loop_video_silent_only":"נגן רק סרטונים חסרי קול ללא הפסקה","mutes_tab":"השתקות","play_videos_in_modal":"נגן סרטונים ישירות בנגן המדיה","use_contain_fit":"אל תחתוך את הצירוף בתמונות הממוזערות","name":"שם","name_bio":"שם ואודות","new_password":"סיסמה חדשה","notification_visibility":"סוג ההתראות שתרצו לראות","notification_visibility_follows":"עקיבות","notification_visibility_likes":"לייקים","notification_visibility_mentions":"אזכורים","notification_visibility_repeats":"חזרות","no_rich_text_description":"הסר פורמט טקסט עשיר מכל ההודעות","no_blocks":"ללא חסימות","no_mutes":"ללא השתקות","hide_follows_description":"אל תראה אחרי מי אני עוקב","hide_followers_description":"אל תראה מי עוקב אחרי","show_admin_badge":"הראה סמל מנהל בפרופיל שלי","show_moderator_badge":"הראה סמל צוות בפרופיל שלי","nsfw_clickthrough":"החל החבאת צירופים לא בטוחים לצפיה בעת עבודה בעזרת לחיצת עכבר","oauth_tokens":"אסימוני OAuth","token":"אסימון","refresh_token":"רענון האסימון","valid_until":"בתוקף עד","revoke_token":"בטל","panelRadius":"פאנלים","pause_on_unfocused":"השהה זרימת הודעות כשהחלון לא בפוקוס","presets":"ערכים קבועים מראש","profile_background":"רקע הפרופיל","profile_banner":"כרזת הפרופיל","profile_tab":"פרופיל","radii_help":"קבע מראש עיגול פינות לממשק (בפיקסלים)","replies_in_timeline":"תגובות בציר הזמן","reply_visibility_all":"הראה את כל התגובות","reply_visibility_following":"הראה תגובות שמופנות אליי או לעקובים שלי בלבד","reply_visibility_self":"הראה תגובות שמופנות אליי בלבד","autohide_floating_post_button":"החבא אוטומטית את הכפתור הודעה חדשה (נייד)","saving_err":"שגיאה בשמירת הגדרות","saving_ok":"הגדרות נשמרו","search_user_to_block":"חפש משתמש לחסימה","search_user_to_mute":"חפש משתמש להשתקה","security_tab":"ביטחון","scope_copy":"העתק תחום הודעה בתגובה להודעה (הודעות ישירות תמיד מועתקות)","minimal_scopes_mode":"צמצם אפשרויות בחירה לתחום הודעה","set_new_avatar":"קבע תמונת פרופיל חדשה","set_new_profile_background":"קבע רקע פרופיל חדש","set_new_profile_banner":"קבע כרזת פרופיל חדשה","settings":"הגדרות","subject_input_always_show":"תמיד הראה את שדה הנושא","subject_line_behavior":"העתק נושא בתגובה","subject_line_email":"כמו אימייל: \\"re: נושא\\"","subject_line_mastodon":"כמו מסטודון: העתק כפי שזה","subject_line_noop":"אל תעתיק","post_status_content_type":"שלח את סוג תוכן ההודעה","stop_gifs":"נגן-בעת-ריחוף GIFs","streaming":"החל זרימת הודעות אוטומטית בעת גלילה למעלה הדף","text":"טקסט","theme":"תמה","theme_help":"השתמש בקודי צבע הקס (#אדום-אדום-ירוק-ירוק-כחול-כחול) על מנת להתאים אישית את תמת הצבע שלך.","tooltipRadius":"טולטיפ \\\\ התראות","upload_a_photo":"העלה תמונה","user_settings":"הגדרות משתמש","values":{"false":"לא","true":"כן"},"notifications":"התראות","enable_web_push_notifications":"אפשר התראות web push","version":{"title":"גרסה","backend_version":"גרסת קצה אחורי","frontend_version":"גרסת קצה קדמי"}},"timeline":{"collapse":"מוטט","conversation":"שיחה","error_fetching":"שגיאה בהבאת הודעות","load_older":"טען סטטוסים חדשים","no_retweet_hint":"ההודעה מסומנת כ\\"לעוקבים-בלבד\\" ולא ניתן לחזור עליה","repeated":"חזר","show_new":"הראה חדש","up_to_date":"עדכני","no_more_statuses":"אין עוד סטטוסים","no_statuses":"אין סטטוסים"},"status":{"favorites":"מועדפים","repeats":"חזרות","delete":"מחק סטטוס","pin":"הצמד לפרופיל","unpin":"הסר הצמדה מהפרופיל","pinned":"מוצמד","delete_confirm":"האם באמת למחוק סטטוס זה?","reply_to":"הגב ל","replies_list":"תגובות:"},"user_card":{"approve":"אשר","block":"חסימה","blocked":"חסום!","deny":"דחה","favorites":"מועדפים","follow":"עקוב","follow_sent":"בקשה נשלחה!","follow_progress":"מבקש…","follow_unfollow":"בטל עקיבה","followees":"נעקבים","followers":"עוקבים","following":"עוקב!","follows_you":"עוקב אחריך!","its_you":"זה אתה!","media":"מדיה","mute":"השתק","muted":"מושתק","per_day":"ליום","remote_follow":"עקיבה מרחוק","report":"דווח","statuses":"סטטוסים","unblock":"הסר חסימה","unblock_progress":"מסיר חסימה…","block_progress":"חוסם…","unmute":"הסר השתקה","unmute_progress":"מסיר השתקה…","mute_progress":"משתיק…","admin_menu":{"moderation":"ניהול (צוות)","grant_admin":"הפוך למנהל","revoke_admin":"הסר מנהל","grant_moderator":"הפוך לצוות","revoke_moderator":"הסר צוות","activate_account":"הפעל משתמש","deactivate_account":"השבת משתמש","delete_account":"מחק משתמש","force_nsfw":"סמן את כל ההודעות בתור לא-מתאימות-לעבודה","strip_media":"הסר מדיה מההודעות","force_unlisted":"הפוך הודעות ללא רשומות","sandbox":"הפוך הודעות לנראות לעוקבים-בלבד","disable_remote_subscription":"אל תאפשר עקיבה של המשתמש מאינסטנס אחר","disable_any_subscription":"אל תאפשר עקיבה של המשתמש בכלל","quarantine":"אל תאפשר פדרציה של ההודעות של המשתמש","delete_user":"מחק משתמש","delete_user_confirmation":"בטוח? פעולה זו הינה בלתי הפיכה."}},"user_profile":{"timeline_title":"ציר זמן המשתמש","profile_does_not_exist":"סליחה, פרופיל זה אינו קיים.","profile_loading_error":"סליחה, הייתה שגיאה בטעינת הפרופיל."},"user_reporting":{"title":"מדווח על {0}","add_comment_description":"הדיווח ישלח לצוות האינסטנס. אפשר להסביר למה הנך מדווחים על משתמש זה למטה:","additional_comments":"תגובות נוספות","forward_description":"המשתמש משרת אחר. לשלוח לשם עותק של הדיווח?","forward_to":"העבר ל {0}","submit":"הגש","generic_error":"קרתה שגיאה בעת עיבוד הבקשה."},"who_to_follow":{"more":"עוד","who_to_follow":"אחרי מי לעקוב"},"tool_tip":{"media_upload":"העלה מדיה","repeat":"חזור","reply":"הגב","favorite":"מועדף","user_settings":"הגדרות משתמש"},"upload":{"error":{"base":"העלאה נכשלה.","file_too_big":"קובץ גדול מדי [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","default":"נסה שוב אחר כך"},"file_size_units":{"B":"B","KiB":"KiB","MiB":"MiB","GiB":"GiB","TiB":"TiB"}},"about":{"mrf":{"keyword":{"keyword_policies":"פוליסת מילות מפתח"},"federation":"פדרציה"}}}')}}]); +//# sourceMappingURL=16.43dd2c64dcb160dd96a6.js.map \ No newline at end of file diff --git a/priv/static/static/js/16.43dd2c64dcb160dd96a6.js.map b/priv/static/static/js/16.43dd2c64dcb160dd96a6.js.map new file mode 100644 index 000000000..20ab38e81 --- /dev/null +++ b/priv/static/static/js/16.43dd2c64dcb160dd96a6.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/16.43dd2c64dcb160dd96a6.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/16.90b5ee380da41d6d061c.js.map b/priv/static/static/js/16.90b5ee380da41d6d061c.js.map deleted file mode 100644 index f69273c5c..000000000 --- a/priv/static/static/js/16.90b5ee380da41d6d061c.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/16.90b5ee380da41d6d061c.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/17.c5a6513076aa9c5a9564.js.map b/priv/static/static/js/17.c5a6513076aa9c5a9564.js.map deleted file mode 100644 index f2ac5ef45..000000000 --- a/priv/static/static/js/17.c5a6513076aa9c5a9564.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/17.c5a6513076aa9c5a9564.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/17.c5a6513076aa9c5a9564.js b/priv/static/static/js/17.d1deeeb81b7cab98b068.js similarity index 94% rename from priv/static/static/js/17.c5a6513076aa9c5a9564.js rename to priv/static/static/js/17.d1deeeb81b7cab98b068.js index 74c623294..519a6e2bd 100644 --- a/priv/static/static/js/17.c5a6513076aa9c5a9564.js +++ b/priv/static/static/js/17.d1deeeb81b7cab98b068.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{597:function(e){e.exports=JSON.parse('{"finder":{"error_fetching_user":"Hiba felhasználó beszerzésével","find_user":"Felhasználó keresése"},"general":{"submit":"Elküld"},"login":{"login":"Bejelentkezés","logout":"Kijelentkezés","password":"Jelszó","placeholder":"e.g. lain","register":"Feliratkozás","username":"Felhasználó név"},"nav":{"mentions":"Említéseim","public_tl":"Publikus Idővonal","timeline":"Idővonal","twkn":"Az Egész Ismert Hálózat"},"notifications":{"followed_you":"követ téged","notifications":"Értesítések","read":"Olvasva!"},"post_status":{"default":"Most érkeztem L.A.-be","posting":"Küldés folyamatban"},"registration":{"bio":"Bio","email":"Email","fullname":"Teljes név","password_confirm":"Jelszó megerősítése","registration":"Feliratkozás"},"settings":{"attachments":"Csatolmányok","avatar":"Avatár","bio":"Bio","current_avatar":"Jelenlegi avatár","current_profile_banner":"Jelenlegi profil banner","filtering":"Szűrés","filtering_explanation":"Minden tartalom mely ezen szavakat tartalmazza némítva lesz, soronként egy","hide_attachments_in_convo":"Csatolmányok elrejtése a társalgásokban","hide_attachments_in_tl":"Csatolmányok elrejtése az idővonalon","name":"Név","name_bio":"Név és Bio","nsfw_clickthrough":"NSFW átkattintási tartalom elrejtésének engedélyezése","profile_background":"Profil háttérkép","profile_banner":"Profil Banner","set_new_avatar":"Új avatár","set_new_profile_background":"Új profil háttér beállítása","set_new_profile_banner":"Új profil banner","settings":"Beállítások","theme":"Téma","user_settings":"Felhasználói beállítások"},"timeline":{"conversation":"Társalgás","error_fetching":"Hiba a frissítések beszerzésénél","load_older":"Régebbi állapotok betöltése","show_new":"Újak mutatása","up_to_date":"Naprakész"},"user_card":{"block":"Letilt","blocked":"Letiltva!","follow":"Követ","followees":"Követettek","followers":"Követők","following":"Követve!","follows_you":"Követ téged!","mute":"Némít","muted":"Némított","per_day":"naponta","statuses":"Állapotok"}}')}}]); -//# sourceMappingURL=17.c5a6513076aa9c5a9564.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[17],{610:function(e){e.exports=JSON.parse('{"finder":{"error_fetching_user":"Hiba felhasználó beszerzésével","find_user":"Felhasználó keresése"},"general":{"submit":"Elküld"},"login":{"login":"Bejelentkezés","logout":"Kijelentkezés","password":"Jelszó","placeholder":"e.g. lain","register":"Feliratkozás","username":"Felhasználó név"},"nav":{"mentions":"Említéseim","public_tl":"Publikus Idővonal","timeline":"Idővonal","twkn":"Az Egész Ismert Hálózat"},"notifications":{"followed_you":"követ téged","notifications":"Értesítések","read":"Olvasva!"},"post_status":{"default":"Most érkeztem L.A.-be","posting":"Küldés folyamatban"},"registration":{"bio":"Bio","email":"Email","fullname":"Teljes név","password_confirm":"Jelszó megerősítése","registration":"Feliratkozás"},"settings":{"attachments":"Csatolmányok","avatar":"Avatár","bio":"Bio","current_avatar":"Jelenlegi avatár","current_profile_banner":"Jelenlegi profil banner","filtering":"Szűrés","filtering_explanation":"Minden tartalom mely ezen szavakat tartalmazza némítva lesz, soronként egy","hide_attachments_in_convo":"Csatolmányok elrejtése a társalgásokban","hide_attachments_in_tl":"Csatolmányok elrejtése az idővonalon","name":"Név","name_bio":"Név és Bio","nsfw_clickthrough":"NSFW átkattintási tartalom elrejtésének engedélyezése","profile_background":"Profil háttérkép","profile_banner":"Profil Banner","set_new_avatar":"Új avatár","set_new_profile_background":"Új profil háttér beállítása","set_new_profile_banner":"Új profil banner","settings":"Beállítások","theme":"Téma","user_settings":"Felhasználói beállítások"},"timeline":{"conversation":"Társalgás","error_fetching":"Hiba a frissítések beszerzésénél","load_older":"Régebbi állapotok betöltése","show_new":"Újak mutatása","up_to_date":"Naprakész"},"user_card":{"block":"Letilt","blocked":"Letiltva!","follow":"Követ","followees":"Követettek","followers":"Követők","following":"Követve!","follows_you":"Követ téged!","mute":"Némít","muted":"Némított","per_day":"naponta","statuses":"Állapotok"}}')}}]); +//# sourceMappingURL=17.d1deeeb81b7cab98b068.js.map \ No newline at end of file diff --git a/priv/static/static/js/17.d1deeeb81b7cab98b068.js.map b/priv/static/static/js/17.d1deeeb81b7cab98b068.js.map new file mode 100644 index 000000000..156fad930 --- /dev/null +++ b/priv/static/static/js/17.d1deeeb81b7cab98b068.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/17.d1deeeb81b7cab98b068.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/18.a4d5b399e228a6a45a7b.js b/priv/static/static/js/18.a4d5b399e228a6a45a7b.js new file mode 100644 index 000000000..1b17be977 --- /dev/null +++ b/priv/static/static/js/18.a4d5b399e228a6a45a7b.js @@ -0,0 +1,2 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{611:function(e){e.exports=JSON.parse('{"general":{"submit":"Invia","apply":"Applica","more":"Altro","generic_error":"Errore","optional":"facoltativo","show_more":"Mostra tutto","show_less":"Ripiega","dismiss":"Chiudi","cancel":"Annulla","disable":"Disabilita","enable":"Abilita","confirm":"Conferma","verify":"Verifica","peek":"Anteprima","close":"Chiudi","retry":"Riprova","error_retry":"Per favore, riprova","loading":"Carico…","role":{"moderator":"Moderatore","admin":"Amministratore"},"flash_fail":"Contenuto Flash non caricato, vedi console del browser.","flash_content":"Mostra contenuto Flash tramite Ruffle (funzione in prova).","flash_security":"Può essere pericoloso perché i contenuti in Flash sono eseguibili."},"nav":{"mentions":"Menzioni","public_tl":"Sequenza pubblica","timeline":"Sequenza personale","twkn":"Sequenza federale","chat":"Chat della stanza","friend_requests":"Vogliono seguirti","about":"Informazioni","administration":"Amministrazione","back":"Indietro","interactions":"Interazioni","dms":"Messaggi privati","user_search":"Ricerca utenti","search":"Ricerca","who_to_follow":"Chi seguire","preferences":"Preferenze","bookmarks":"Segnalibri","chats":"Conversazioni","timelines":"Sequenze","home_timeline":"Sequenza personale"},"notifications":{"followed_you":"ti segue","notifications":"Notifiche","read":"Letto!","broken_favorite":"Stato sconosciuto, lo sto cercando…","favorited_you":"ha gradito","load_older":"Carica notifiche precedenti","repeated_you":"ha condiviso il tuo messaggio","follow_request":"vuole seguirti","no_more_notifications":"Fine delle notifiche","migrated_to":"è migrato verso","reacted_with":"ha reagito con {0}","error":"Errore nel caricare le notifiche: {0}"},"settings":{"attachments":"Allegati","avatar":"Icona utente","bio":"Introduzione","current_avatar":"La tua icona attuale","current_profile_banner":"Il tuo stendardo attuale","filtering":"Filtri","filtering_explanation":"Tutti i messaggi contenenti queste parole saranno silenziati, una per riga","hide_attachments_in_convo":"Nascondi gli allegati presenti nelle conversazioni","hide_attachments_in_tl":"Nascondi gli allegati presenti nelle sequenze","name":"Nome","name_bio":"Nome ed introduzione","nsfw_clickthrough":"Fai click per visualizzare gli allegati offuscati","profile_background":"Sfondo del tuo profilo","profile_banner":"Gonfalone del tuo profilo","set_new_avatar":"Scegli una nuova icona","set_new_profile_background":"Scegli un nuovo sfondo","set_new_profile_banner":"Scegli un nuovo gonfalone","settings":"Impostazioni","theme":"Tema","user_settings":"Impostazioni Utente","attachmentRadius":"Allegati","avatarAltRadius":"Icone utente (Notifiche)","avatarRadius":"Icone utente","background":"Sfondo","btnRadius":"Pulsanti","cBlue":"Blu (rispondi, segui)","cGreen":"Verde (ripeti)","cOrange":"Arancione (gradisci)","cRed":"Rosso (annulla)","change_password":"Cambia password","change_password_error":"C\'è stato un problema durante il cambiamento della password.","changed_password":"Password cambiata correttamente!","collapse_subject":"Ripiega messaggi con oggetto","confirm_new_password":"Conferma la nuova password","current_password":"La tua password attuale","data_import_export_tab":"Importa o esporta dati","default_vis":"Visibilità predefinita dei messaggi","delete_account":"Elimina profilo","delete_account_description":"Elimina definitivamente i tuoi dati e disattiva il tuo profilo.","delete_account_error":"C\'è stato un problema durante l\'eliminazione del tuo profilo. Se il problema persiste contatta l\'amministratore della tua stanza.","delete_account_instructions":"Digita la tua password nel campo sottostante per eliminare il tuo profilo.","export_theme":"Salva impostazioni","follow_export":"Esporta la lista di chi segui","follow_export_button":"Esporta la lista di chi segui in un file CSV","follow_export_processing":"Sto elaborando, presto ti sarà chiesto di scaricare il tuo file","follow_import":"Importa la lista di chi segui","follow_import_error":"Errore nell\'importazione della lista di chi segui","follows_imported":"Importazione riuscita! L\'elaborazione richiederà un po\' di tempo.","foreground":"Primo piano","general":"Generale","hide_post_stats":"Nascondi statistiche dei messaggi (es. il numero di preferenze)","hide_user_stats":"Nascondi statistiche dell\'utente (es. il numero di seguaci)","import_followers_from_a_csv_file":"Importa una lista di chi segui da un file CSV","import_theme":"Carica impostazioni","inputRadius":"Campi di testo","instance_default":"(predefinito: {value})","interfaceLanguage":"Lingua dell\'interfaccia","invalid_theme_imported":"Il file selezionato non è un tema supportato da Pleroma. Il tuo tema non è stato modificato.","limited_availability":"Non disponibile nel tuo browser","links":"Collegamenti","lock_account_description":"Vaglia manualmente i nuovi seguaci","loop_video":"Riproduci video in ciclo continuo","loop_video_silent_only":"Riproduci solo video muti in ciclo continuo (es. le \\"gif\\" di Mastodon)","new_password":"Nuova password","notification_visibility":"Tipi di notifiche da mostrare","notification_visibility_follows":"Nuovi seguaci","notification_visibility_likes":"Preferiti","notification_visibility_mentions":"Menzioni","notification_visibility_repeats":"Condivisioni","no_rich_text_description":"Togli la formattazione del testo da tutti i messaggi","oauth_tokens":"Token OAuth","token":"Token","refresh_token":"Aggiorna token","valid_until":"Valido fino a","revoke_token":"Revoca","panelRadius":"Pannelli","pause_on_unfocused":"Interrompi l\'aggiornamento continuo mentre la scheda è in secondo piano","presets":"Valori predefiniti","profile_tab":"Profilo","radii_help":"Imposta il raggio degli angoli (in pixel)","replies_in_timeline":"Risposte nelle sequenze","reply_visibility_all":"Mostra tutte le risposte","reply_visibility_following":"Mostra solo le risposte rivolte a me o agli utenti che seguo","reply_visibility_self":"Mostra solo risposte rivolte a me","saving_err":"Errore nel salvataggio delle impostazioni","saving_ok":"Impostazioni salvate","security_tab":"Sicurezza","stop_gifs":"Riproduci GIF al passaggio del cursore","streaming":"Mostra automaticamente i nuovi messaggi quando sei in cima alla pagina","text":"Testo","theme_help":"Usa colori esadecimali (#rrggbb) per personalizzare il tuo schema di colori.","tooltipRadius":"Suggerimenti/avvisi","values":{"false":"no","true":"sì"},"avatar_size_instruction":"La taglia minima per l\'icona personale è 150x150 pixel.","domain_mutes":"Domini","discoverable":"Permetti la scoperta di questo profilo a servizi di ricerca ed altro","composing":"Composizione","changed_email":"Email cambiata con successo!","change_email_error":"C\'è stato un problema nel cambiare la tua email.","change_email":"Cambia email","blocks_tab":"Bloccati","blocks_imported":"Blocchi importati! Saranno elaborati a breve.","block_import_error":"Errore nell\'importazione","block_import":"Importa blocchi","block_export_button":"Esporta i tuoi blocchi in un file CSV","block_export":"Esporta blocchi","allow_following_move":"Consenti l\'iscrizione automatica ai profili traslocati","mfa":{"verify":{"desc":"Per abilitare l\'autenticazione bifattoriale, inserisci il codice fornito dalla tua applicazione:"},"scan":{"secret_code":"Codice","desc":"Con la tua applicazione bifattoriale, acquisisci il QR o inserisci il codice:","title":"Acquisisci"},"authentication_methods":"Metodi di accesso","recovery_codes_warning":"Metti i codici al sicuro, perché non potrai più visualizzarli. Se perderai l\'accesso sia alla tua applicazione bifattoriale che ai codici di recupero non potrai più accedere al tuo profilo.","waiting_a_recovery_codes":"Ricevo codici di recupero…","recovery_codes":"Codici di recupero.","warning_of_generate_new_codes":"Alla generazione di nuovi codici di recupero, quelli vecchi saranno disattivati.","generate_new_recovery_codes":"Genera nuovi codici di recupero","title":"Accesso bifattoriale","confirm_and_enable":"Conferma ed abilita OTP","wait_pre_setup_otp":"preimposto OTP","setup_otp":"Imposta OTP","otp":"OTP"},"enter_current_password_to_confirm":"Inserisci la tua password per identificarti","security":"Sicurezza","app_name":"Nome applicazione","style":{"switcher":{"help":{"older_version_imported":"Il tema importato è stato creato per una versione precedente dell\'interfaccia.","future_version_imported":"Il tema importato è stato creato per una versione più recente dell\'interfaccia.","v2_imported":"Il tema importato è stato creato per una vecchia interfaccia. Non tutto potrebbe essere come inteso.","upgraded_from_v2":"L\'interfaccia è stata aggiornata, il tema potrebbe essere diverso da come lo ricordi.","migration_snapshot_ok":"Ho caricato l\'anteprima del tema. Puoi provare a caricarne i contenuti.","fe_downgraded":"L\'interfaccia è stata portata ad una versione precedente.","fe_upgraded":"Lo schema dei temi è stato aggiornato insieme all\'interfaccia.","snapshot_missing":"Il tema non è provvisto di anteprima, quindi potrebbe essere diverso da come appare.","snapshot_present":"Tutti i valori sono sostituiti dall\'anteprima del tema. Puoi invece caricare i suoi contenuti.","snapshot_source_mismatch":"Conflitto di versione: probabilmente l\'interfaccia è stata portata indietro e poi aggiornata di nuovo. Se hai modificato il tema con una vecchia versione usa il tema precedente, altrimenti puoi usare il nuovo.","migration_napshot_gone":"Anteprima del tema non trovata, non tutto potrebbe essere come ricordi."},"use_source":"Nuova versione","use_snapshot":"Versione precedente","keep_as_is":"Mantieni tal quale","load_theme":"Carica tema","clear_opacity":"Rimuovi opacità","clear_all":"Azzera tutto","reset":"Reimposta","save_load_hint":"Le opzioni \\"mantieni\\" conservano le impostazioni correnti quando selezioni o carichi un tema, e le salvano quando ne esporti uno. Quando nessuna casella è selezionata, tutte le impostazioni correnti saranno salvate nel tema.","keep_fonts":"Mantieni font","keep_roundness":"Mantieni vertici","keep_opacity":"Mantieni opacità","keep_shadows":"Mantieni ombre","keep_color":"Mantieni colori"},"common":{"opacity":"Opacità","color":"Colore","contrast":{"context":{"text":"per il testo","18pt":"per il testo oltre 17pt"},"level":{"bad":"non soddisfa le linee guida di alcun livello","aaa":"soddisfa le linee guida di livello AAA (ottimo)","aa":"soddisfa le linee guida di livello AA (sufficiente)"},"hint":"Il rapporto di contrasto è {ratio}, e {level} {context}"}},"advanced_colors":{"badge":"Sfondo medaglie","post":"Messaggi / Biografie","alert_neutral":"Neutro","alert_warning":"Attenzione","alert_error":"Errore","alert":"Sfondo degli avvertimenti","_tab_label":"Avanzate","tabs":"Etichette","disabled":"Disabilitato","selectedMenu":"Voce menù selezionata","selectedPost":"Messaggio selezionato","pressed":"Premuto","highlight":"Elementi in risalto","icons":"Icone","poll":"Grafico sondaggi","underlay":"Sottostante","faint_text":"Testo sbiadito","inputs":"Campi d\'immissione","buttons":"Pulsanti","borders":"Bordi","top_bar":"Barra superiore","panel_header":"Titolo pannello","badge_notification":"Notifica","popover":"Suggerimenti, menù, sbalzi","toggled":"Scambiato","chat":{"border":"Bordo","outgoing":"Inviati","incoming":"Ricevuti"},"wallpaper":"Sfondo"},"common_colors":{"rgbo":"Icone, accenti, medaglie","foreground_hint":"Seleziona l\'etichetta \\"Avanzate\\" per controlli più fini","main":"Colori comuni","_tab_label":"Comuni"},"shadows":{"inset":"Includi","spread":"Spandi","blur":"Sfoca","shadow_id":"Ombra numero {value}","override":"Sostituisci","component":"Componente","_tab_label":"Luci ed ombre","components":{"avatarStatus":"Icona utente (vista messaggio)","avatar":"Icona utente (vista profilo)","topBar":"Barra superiore","panelHeader":"Intestazione pannello","panel":"Pannello","input":"Campo d\'immissione","buttonPressedHover":"Pulsante (puntato e premuto)","buttonPressed":"Pulsante (premuto)","buttonHover":"Pulsante (puntato)","button":"Pulsante","popup":"Sbalzi e suggerimenti"},"filter_hint":{"inset_classic":"Le ombre incluse usano {0}","spread_zero":"Lo spandimento maggiore di zero si azzera sulle ombre","avatar_inset":"Tieni presente che combinare ombre (sia incluse che non) sulle icone utente potrebbe dare risultati strani con quelle trasparenti.","drop_shadow_syntax":"{0} non supporta il parametro {1} né la keyword {2}.","always_drop_shadow":"Attenzione: quest\'ombra usa sempre {0} se il tuo browser lo supporta."},"hintV3":"Per le ombre puoi anche usare la sintassi {0} per sfruttare il secondo colore."},"radii":{"_tab_label":"Raggio"},"fonts":{"_tab_label":"Font","custom":"Personalizzato","weight":"Grassettatura","size":"Dimensione in pixel","family":"Nome font","components":{"postCode":"Font a spaziatura fissa incluso in un messaggio","post":"Testo del messaggio","input":"Campi d\'immissione","interface":"Interfaccia"},"help":"Seleziona il font da usare per gli elementi dell\'interfaccia. Se scegli \\"personalizzato\\" devi inserire il suo nome di sistema."},"preview":{"link":"un bel collegamentino","checkbox":"Ho dato uno sguardo a termini e condizioni","header_faint":"Tutto bene","fine_print":"Leggi il nostro {0} per imparare un bel niente!","faint_link":"utilissimo manuale","input":"Sono appena atterrato a Fiumicino.","mono":"contenuto","text":"Altro {0} e {1}","content":"Contenuto","button":"Pulsante","error":"Errore d\'esempio","header":"Anteprima"}},"enable_web_push_notifications":"Abilita notifiche web push","fun":"Divertimento","notification_mutes":"Per non ricevere notifiche da uno specifico utente, silenzialo.","notification_setting_privacy_option":"Nascondi mittente e contenuti delle notifiche push","notification_setting_privacy":"Privacy","notification_setting_filters":"Filtri","notifications":"Notifiche","greentext":"Frecce da meme","upload_a_photo":"Carica un\'immagine","type_domains_to_mute":"Cerca domini da silenziare","theme_help_v2_2":"Le icone vicino alcuni elementi sono indicatori del contrasto fra testo e sfondo, passaci sopra col puntatore per ulteriori informazioni. Se usani trasparenze, questi indicatori mostrano il peggior caso possibile.","theme_help_v2_1":"Puoi anche forzare colore ed opacità di alcuni elementi selezionando la casella. Usa il pulsante \\"Azzera\\" per azzerare tutte le forzature.","useStreamingApiWarning":"(Sconsigliato, sperimentale, può saltare messaggi)","useStreamingApi":"Ricevi messaggi e notifiche in tempo reale","user_mutes":"Utenti","post_status_content_type":"Tipo di contenuto dei messaggi","subject_line_noop":"Non copiare","subject_line_mastodon":"Come in Mastodon: copia tal quale","subject_line_email":"Come nelle email: \\"re: oggetto\\"","subject_line_behavior":"Copia oggetto quando rispondi","subject_input_always_show":"Mostra sempre il campo Oggetto","minimal_scopes_mode":"Riduci opzioni di visibilità","scope_copy":"Risposte ereditano la visibilità (messaggi privati lo fanno sempre)","search_user_to_mute":"Cerca utente da silenziare","search_user_to_block":"Cerca utente da bloccare","autohide_floating_post_button":"Nascondi automaticamente il pulsante di composizione (mobile)","show_moderator_badge":"Mostra l\'insegna di moderatore sul mio profilo","show_admin_badge":"Mostra l\'insegna di amministratore sul mio profilo","hide_followers_count_description":"Non mostrare quanti seguaci ho","hide_follows_count_description":"Non mostrare quanti utenti seguo","hide_followers_description":"Non mostrare i miei seguaci","hide_follows_description":"Non mostrare chi seguo","no_mutes":"Nessun utente silenziato","no_blocks":"Nessun utente bloccato","notification_visibility_emoji_reactions":"Reazioni","notification_visibility_moves":"Migrazioni utenti","new_email":"Nuova email","use_contain_fit":"Non ritagliare le anteprime degli allegati","play_videos_in_modal":"Riproduci video in un riquadro a sbalzo","mutes_tab":"Silenziati","interface":"Interfaccia","instance_default_simple":"(predefinito)","checkboxRadius":"Caselle di selezione","import_blocks_from_a_csv_file":"Importa blocchi da un file CSV","hide_filtered_statuses":"Nascondi messaggi filtrati","use_one_click_nsfw":"Apri media offuscati con un solo click","preload_images":"Precarica immagini","hide_isp":"Nascondi pannello della stanza","max_thumbnails":"Numero massimo di anteprime per messaggio","hide_muted_posts":"Nascondi messaggi degli utenti silenziati","accent":"Accento","emoji_reactions_on_timeline":"Mostra reazioni nelle sequenze","pad_emoji":"Affianca spazi agli emoji inseriti tramite selettore","notification_blocks":"Bloccando un utente non riceverai più le sue notifiche né lo seguirai più.","mutes_and_blocks":"Silenziati e bloccati","profile_fields":{"value":"Contenuto","name":"Descrizione","add_field":"Aggiungi campo","label":"Metadati profilo"},"bot":"Questo è un robot","version":{"frontend_version":"Versione interfaccia","backend_version":"Versione backend","title":"Versione"},"reset_avatar":"Azzera icona","reset_profile_background":"Azzera sfondo","reset_profile_banner":"Azzera gonfalone","reset_avatar_confirm":"Vuoi veramente azzerare l\'icona?","reset_banner_confirm":"Vuoi veramente azzerare il gonfalone?","reset_background_confirm":"Vuoi veramente azzerare lo sfondo?","chatMessageRadius":"Messaggi istantanei","notification_setting_hide_notification_contents":"Nascondi mittente e contenuti delle notifiche push","notification_setting_block_from_strangers":"Blocca notifiche da utenti che non segui","virtual_scrolling":"Velocizza l\'elaborazione delle sequenze","import_mutes_from_a_csv_file":"Importa silenziati da un file CSV","mutes_imported":"Silenziati importati! Elaborazione in corso.","mute_import_error":"Errore nell\'importazione","mute_import":"Carica silenziati","mute_export_button":"Esporta i silenziati in un file CSV","mute_export":"Esporta silenziati","hide_wallpaper":"Nascondi sfondo della stanza","setting_changed":"Valore personalizzato","more_settings":"Altre impostazioni","sensitive_by_default":"Tutti i miei messaggi sono scabrosi","reply_visibility_self_short":"Vedi solo risposte a te","reply_visibility_following_short":"Vedi risposte a messaggi di altri","hide_all_muted_posts":"Nascondi messaggi silenziati","hide_media_previews":"Nascondi anteprime","word_filter":"Parole filtrate","save":"Salva modifiche","file_export_import":{"errors":{"file_slightly_new":"Versione minore diversa, qualcosa potrebbe non combaciare.","file_too_old":"Versione troppo vecchia: {fileMajor}. Questa versione dell\'interfaccia ({feMajor}) non supporta il file.","file_too_new":"Versione troppo recente: {fileMajor}. Questa versione dell\'interfaccia ({feMajor}) non supporta il file.","invalid_file":"Il file selezionato non è un archivio supportato. Nessuna modifica è stata apportata."},"restore_settings":"Carica impostazioni sul server","backup_settings_theme":"Archivia impostazioni e tema localmente","backup_settings":"Archivia impostazioni localmente","backup_restore":"Archiviazione impostazioni"},"right_sidebar":"Mostra barra laterale a destra","hide_shoutbox":"Nascondi muro dei graffiti"},"timeline":{"error_fetching":"Errore nell\'aggiornamento","load_older":"Carica messaggi precedenti","show_new":"Mostra nuovi","up_to_date":"Aggiornato","collapse":"Ripiega","conversation":"Conversazione","no_retweet_hint":"Il messaggio è diretto o solo per seguaci e non può essere condiviso","repeated":"ha condiviso","no_statuses":"Nessun messaggio","no_more_statuses":"Fine dei messaggi","reload":"Ricarica","error":"Errore nel caricare la sequenza: {0}","socket_broke":"Connessione tempo reale interrotta: codice {0}","socket_reconnected":"Connesso in tempo reale"},"user_card":{"follow":"Segui","followees":"Segue","followers":"Seguaci","following":"Seguìto!","follows_you":"Ti segue!","mute":"Silenzia","muted":"Silenziato","per_day":"al giorno","statuses":"Messaggi","approve":"Approva","block":"Blocca","blocked":"Bloccato!","deny":"Nega","remote_follow":"Segui da remoto","admin_menu":{"delete_user_confirmation":"Ne sei completamente sicuro? Non potrai tornare indietro.","delete_user":"Elimina utente","quarantine":"I messaggi non arriveranno alle altre stanze","disable_any_subscription":"Rendi utente non seguibile","disable_remote_subscription":"Blocca i tentativi di seguirlo da altre stanze","sandbox":"Rendi tutti i messaggi solo per seguaci","force_unlisted":"Nascondi tutti i messaggi","strip_media":"Rimuovi ogni allegato ai messaggi","force_nsfw":"Oscura tutti i messaggi","delete_account":"Elimina profilo","deactivate_account":"Disattiva profilo","activate_account":"Attiva profilo","revoke_moderator":"Divesti Moderatore","grant_moderator":"Crea Moderatore","revoke_admin":"Divesti Amministratore","grant_admin":"Crea Amministratore","moderation":"Moderazione"},"show_repeats":"Mostra condivisioni","hide_repeats":"Nascondi condivisioni","mute_progress":"Silenzio…","unmute_progress":"Riabilito…","unmute":"Riabilita","block_progress":"Blocco…","unblock_progress":"Sblocco…","unblock":"Sblocca","unsubscribe":"Disdici","subscribe":"Abbònati","report":"Segnala","mention":"Menziona","media":"Media","its_you":"Sei tu!","hidden":"Nascosto","follow_unfollow":"Disconosci","follow_progress":"Richiedo…","follow_sent":"Richiesta inviata!","favorites":"Preferiti","message":"Contatta","bot":"Bot","highlight":{"side":"Nastro a lato","striped":"A righe","solid":"Un colore","disabled":"Nessun risalto"},"edit_profile":"Modifica profilo"},"chat":{"title":"Chat"},"features_panel":{"chat":"Chat","gopher":"Gopher","media_proxy":"Proxy allegati","scope_options":"Opzioni visibilità","text_limit":"Lunghezza massima","title":"Caratteristiche","who_to_follow":"Chi seguire","pleroma_chat_messages":"Chiacchiere","upload_limit":"Limite allegati"},"finder":{"error_fetching_user":"Errore nel recupero dell\'utente","find_user":"Cerca utente"},"login":{"login":"Accedi","logout":"Disconnettiti","password":"Password","placeholder":"es. Lupo Lucio","register":"Registrati","username":"Nome utente","description":"Accedi con OAuth","hint":"Accedi per conversare","authentication_code":"Codice di autenticazione","enter_recovery_code":"Inserisci un codice di recupero","enter_two_factor_code":"Inserisci un codice 2FA","recovery_code":"Codice di recupero","heading":{"totp":"Autenticazione 2FA","recovery":"Recupero 2FA"}},"post_status":{"account_not_locked_warning":"Il tuo profilo non è {0}. Chiunque può seguirti e vedere i tuoi messaggi per seguaci.","account_not_locked_warning_link":"protetto","attachments_sensitive":"Nascondi gli allegati","content_type":{"text/plain":"Testo normale","text/bbcode":"BBCode","text/markdown":"Markdown","text/html":"HTML"},"content_warning":"Oggetto (facoltativo)","default":"Sono appena atterrato a Città Laggiù.","direct_warning":"Questo post sarà visibile solo dagli utenti menzionati.","posting":"Sto pubblicando","scope":{"direct":"Diretto - Visibile solo agli utenti menzionati","private":"Solo per seguaci - Visibile solo dai tuoi seguaci","public":"Pubblico - Visibile sulla sequenza pubblica","unlisted":"Nascosto - Non visibile sulla sequenza pubblica"},"scope_notice":{"unlisted":"Questo messaggio non sarà visibile sulla sequenza locale né su quella pubblica","private":"Questo messaggio sarà visibile solo ai tuoi seguaci","public":"Questo messaggio sarà visibile a tutti"},"direct_warning_to_first_only":"Questo messaggio sarà visibile solo agli utenti menzionati in testa.","direct_warning_to_all":"Questo messaggio sarà visibile a tutti i menzionati.","new_status":"Nuovo messaggio","empty_status_error":"Aggiungi del testo o degli allegati","preview_empty":"Vuoto","preview":"Anteprima","media_description_error":"Allegati non caricati, riprova","media_description":"Descrizione allegati","post":"Pubblica"},"registration":{"bio":"Introduzione","email":"Email","fullname":"Nome visualizzato","password_confirm":"Conferma password","registration":"Registrazione","token":"Codice d\'invito","validations":{"password_confirmation_match":"dovrebbe essere uguale alla password","password_confirmation_required":"non può essere vuoto","password_required":"non può essere vuoto","email_required":"non può essere vuoto","fullname_required":"non può essere vuoto","username_required":"non può essere vuoto"},"bio_placeholder":"es.\\nCiao, sono Lupo Lucio.\\nSono un lupo fantastico che vive nel Fantabosco. Forse mi hai visto alla Melevisione.","fullname_placeholder":"es. Lupo Lucio","username_placeholder":"es. mister_wolf","new_captcha":"Clicca il captcha per averne uno nuovo","captcha":"CAPTCHA","reason_placeholder":"L\'amministratore esamina ciascuna richiesta.\\nFornisci il motivo della tua iscrizione.","reason":"Motivo dell\'iscrizione","register":"Registrati"},"user_profile":{"timeline_title":"Sequenza dell\'utente","profile_loading_error":"Spiacente, c\'è stato un errore nel caricamento del profilo.","profile_does_not_exist":"Spiacente, questo profilo non esiste."},"who_to_follow":{"more":"Altro","who_to_follow":"Chi seguire"},"about":{"mrf":{"federation":"Federazione","keyword":{"reject":"Rifiuta","replace":"Sostituisci","is_replaced_by":"→","keyword_policies":"Regole per parole chiave","ftl_removal":"Rimozione dalla sequenza federale"},"simple":{"reject":"Rifiuta","accept":"Accetta","simple_policies":"Regole specifiche alla stanza","accept_desc":"Questa stanza accetta messaggi solo dalle seguenti altre:","reject_desc":"Questa stanza rifiuterà i messaggi provenienti dalle seguenti:","quarantine":"Quarantena","quarantine_desc":"Questa stanza inoltrerà solo messaggi pubblici alle seguenti:","ftl_removal":"Rimozione dalla sequenza federale","ftl_removal_desc":"Questa stanza rimuove le seguenti dalla sequenza federale:","media_removal":"Rimozione multimedia","media_removal_desc":"Questa istanza rimuove gli allegati dalle seguenti stanze:","media_nsfw":"Allegati oscurati d\'ufficio","media_nsfw_desc":"Questa stanza oscura gli allegati dei messaggi provenienti da queste stanze:"},"mrf_policies":"Regole RM abilitate","mrf_policies_desc":"Le regole RM cambiano il comportamento federativo della stanza. Vigono le seguenti regole:"},"staff":"Responsabili"},"domain_mute_card":{"mute":"Silenzia","mute_progress":"Procedo…","unmute":"Ascolta","unmute_progress":"Procedo…"},"exporter":{"export":"Esporta","processing":"In elaborazione, il tuo file sarà scaricabile a breve"},"image_cropper":{"crop_picture":"Ritaglia immagine","save":"Salva","save_without_cropping":"Salva senza ritagliare","cancel":"Annulla"},"importer":{"submit":"Invia","success":"Importato.","error":"L\'importazione non è andata a buon fine."},"media_modal":{"previous":"Precedente","next":"Prossimo"},"polls":{"add_poll":"Sondaggio","add_option":"Aggiungi opzione","option":"Opzione","votes":"voti","vote":"Vota","type":"Tipo di sondaggio","single_choice":"Scelta singola","multiple_choices":"Scelta multipla","expiry":"Età","expires_in":"Chiude fra {0}","expired":"Chiuso {0} fa","not_enough_options":"Aggiungi altre risposte","votes_count":"{count} voto | {count} voti","people_voted_count":"{count} votante | {count} votanti"},"interactions":{"favs_repeats":"Condivisi e Graditi","load_older":"Carica interazioni precedenti","moves":"Utenti migrati","follows":"Nuovi seguìti"},"emoji":{"load_all":"Carico tutti i {emojiAmount} emoji","load_all_hint":"Primi {saneAmount} emoji caricati, caricarli tutti potrebbe causare rallentamenti.","unicode":"Emoji Unicode","custom":"Emoji della stanza","add_emoji":"Inserisci emoji","search_emoji":"Cerca un emoji","keep_open":"Tieni aperto il menù","emoji":"Emoji","stickers":"Adesivi"},"selectable_list":{"select_all":"Seleziona tutto"},"remote_user_resolver":{"error":"Non trovato.","searching_for":"Cerco","remote_user_resolver":"Cerca utenti remoti"},"errors":{"storage_unavailable":"Pleroma non può accedere ai dati del tuo browser. Il tuo accesso o le tue impostazioni non saranno salvate e potresti incontrare strani errori. Prova ad abilitare i cookie."},"status":{"pinned":"Intestato","unpin":"De-intesta","pin":"Intesta al profilo","delete":"Elimina messaggio","repeats":"Condivisi","favorites":"Preferiti","hide_content":"Nascondi contenuti","show_content":"Mostra contenuti","hide_full_subject":"Nascondi oggetto intero","show_full_subject":"Mostra oggetto intero","thread_muted_and_words":", contiene:","thread_muted":"Discussione silenziata","copy_link":"Copia collegamento","status_unavailable":"Messaggio non disponibile","unmute_conversation":"Riabilita conversazione","mute_conversation":"Silenzia conversazione","replies_list":"Risposte:","reply_to":"In risposta a","delete_confirm":"Vuoi veramente eliminare questo messaggio?","unbookmark":"Rimuovi segnalibro","bookmark":"Aggiungi segnalibro","status_deleted":"Questo messagio è stato cancellato","nsfw":"DISDICEVOLE","external_source":"Vai all\'origine","expand":"Espandi"},"time":{"years_short":"{0} a","year_short":"{0} a","years":"{0} anni","year":"{0} anno","weeks_short":"{0} stm","week_short":"{0} stm","seconds_short":"{0} sec","second_short":"{0} sec","weeks":"{0} settimane","week":"{0} settimana","seconds":"{0} secondi","second":"{0} secondo","now_short":"adesso","now":"adesso","months_short":"{0} ms","month_short":"{0} ms","months":"{0} mesi","month":"{0} mese","minutes_short":"{0} min","minute_short":"{0} min","minutes":"{0} minuti","minute":"{0} minuto","in_past":"{0} fa","in_future":"fra {0}","hours_short":"{0} h","days_short":"{0} g","hour_short":"{0} h","hours":"{0} ore","hour":"{0} ora","day_short":"{0} g","days":"{0} giorni","day":"{0} giorno"},"user_reporting":{"title":"Segnalo {0}","additional_comments":"Osservazioni accessorie","generic_error":"C\'è stato un errore nell\'elaborazione della tua richiesta.","submit":"Invia","forward_to":"Inoltra a {0}","forward_description":"Il profilo appartiene ad un\'altra stanza. Inviare la segnalazione anche a quella?","add_comment_description":"La segnalazione sarà inviata ai moderatori della tua stanza. Puoi motivarla qui sotto:"},"password_reset":{"password_reset_required_but_mailer_is_disabled":"Devi reimpostare la tua password, ma non puoi farlo. Contatta l\'amministratore.","password_reset_required":"Devi reimpostare la tua password per poter continuare.","password_reset_disabled":"Non puoi azzerare la tua password. Contatta il tuo amministratore.","too_many_requests":"Hai raggiunto il numero massimo di tentativi, riprova più tardi.","return_home":"Torna alla pagina principale","check_email":"Controlla la tua posta elettronica.","placeholder":"La tua email o nome utente","instruction":"Inserisci il tuo indirizzo email o il tuo nome utente. Ti invieremo un collegamento per reimpostare la tua password.","password_reset":"Azzera password","forgot_password":"Password dimenticata?"},"search":{"no_results":"Nessun risultato","people_talking":"{count} partecipanti","person_talking":"{count} partecipante","hashtags":"Etichette","people":"Utenti"},"upload":{"file_size_units":{"TiB":"TiB","GiB":"GiB","MiB":"MiB","KiB":"KiB","B":"B"},"error":{"default":"Riprova in seguito","file_too_big":"File troppo pesante [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","base":"Caricamento fallito.","message":"Caricamento fallito: {0}"}},"tool_tip":{"bookmark":"Aggiungi segnalibro","reject_follow_request":"Rifiuta seguace","accept_follow_request":"Accetta seguace","user_settings":"Impostazioni utente","add_reaction":"Reagisci","favorite":"Gradisci","reply":"Rispondi","repeat":"Condividi","media_upload":"Carica allegati"},"display_date":{"today":"Oggi"},"file_type":{"file":"File","image":"Immagine","video":"Video","audio":"Audio"},"chats":{"empty_chat_list_placeholder":"Non hai conversazioni. Contatta qualcuno!","error_sending_message":"Errore. Il messaggio non è stato inviato.","error_loading_chat":"Errore. La conversazione non è stata caricata.","delete_confirm":"Vuoi veramente eliminare questo messaggio?","more":"Altro","empty_message_error":"Non puoi inviare messaggi vuoti","new":"Nuova conversazione","chats":"Conversazioni","delete":"Elimina","message_user":"Contatta {nickname}","you":"Tu:"},"shoutbox":{"title":"Graffiti"}}')}}]); +//# sourceMappingURL=18.a4d5b399e228a6a45a7b.js.map \ No newline at end of file diff --git a/priv/static/static/js/18.a4d5b399e228a6a45a7b.js.map b/priv/static/static/js/18.a4d5b399e228a6a45a7b.js.map new file mode 100644 index 000000000..5e5264405 --- /dev/null +++ b/priv/static/static/js/18.a4d5b399e228a6a45a7b.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/18.a4d5b399e228a6a45a7b.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/18.ffde79cfe78615dbb020.js b/priv/static/static/js/18.ffde79cfe78615dbb020.js deleted file mode 100644 index 7dab8a63d..000000000 --- a/priv/static/static/js/18.ffde79cfe78615dbb020.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[18],{598:function(e){e.exports=JSON.parse('{"general":{"submit":"Invia","apply":"Applica","more":"Altro","generic_error":"Errore","optional":"facoltativo","show_more":"Mostra tutto","show_less":"Ripiega","dismiss":"Chiudi","cancel":"Annulla","disable":"Disabilita","enable":"Abilita","confirm":"Conferma","verify":"Verifica","peek":"Anteprima","close":"Chiudi","retry":"Riprova","error_retry":"Per favore, riprova","loading":"Carico…","role":{"moderator":"Moderatore","admin":"Amministratore"}},"nav":{"mentions":"Menzioni","public_tl":"Sequenza pubblica","timeline":"Sequenza personale","twkn":"Sequenza federale","chat":"Chat della stanza","friend_requests":"Vogliono seguirti","about":"Informazioni","administration":"Amministrazione","back":"Indietro","interactions":"Interazioni","dms":"Messaggi privati","user_search":"Ricerca utenti","search":"Ricerca","who_to_follow":"Chi seguire","preferences":"Preferenze","bookmarks":"Segnalibri","chats":"Conversazioni","timelines":"Sequenze","home_timeline":"Sequenza personale"},"notifications":{"followed_you":"ti segue","notifications":"Notifiche","read":"Letto!","broken_favorite":"Stato sconosciuto, lo sto cercando…","favorited_you":"ha gradito","load_older":"Carica notifiche precedenti","repeated_you":"ha condiviso il tuo messaggio","follow_request":"vuole seguirti","no_more_notifications":"Fine delle notifiche","migrated_to":"è migrato verso","reacted_with":"ha reagito con {0}","error":"Errore nel caricare le notifiche: {0}"},"settings":{"attachments":"Allegati","avatar":"Icona utente","bio":"Introduzione","current_avatar":"La tua icona attuale","current_profile_banner":"Il tuo stendardo attuale","filtering":"Filtri","filtering_explanation":"Tutti i post contenenti queste parole saranno silenziati, una per riga","hide_attachments_in_convo":"Nascondi gli allegati presenti nelle conversazioni","hide_attachments_in_tl":"Nascondi gli allegati presenti nelle sequenze","name":"Nome","name_bio":"Nome ed introduzione","nsfw_clickthrough":"Fai click per visualizzare gli allegati offuscati","profile_background":"Sfondo della tua pagina","profile_banner":"Gonfalone del tuo profilo","set_new_avatar":"Scegli una nuova icona","set_new_profile_background":"Scegli un nuovo sfondo","set_new_profile_banner":"Scegli un nuovo gonfalone","settings":"Impostazioni","theme":"Tema","user_settings":"Impostazioni Utente","attachmentRadius":"Allegati","avatarAltRadius":"Icone utente (Notifiche)","avatarRadius":"Icone utente","background":"Sfondo","btnRadius":"Pulsanti","cBlue":"Blu (rispondi, segui)","cGreen":"Verde (ripeti)","cOrange":"Arancione (gradisci)","cRed":"Rosso (annulla)","change_password":"Cambia password","change_password_error":"C\'è stato un problema durante il cambiamento della password.","changed_password":"Password cambiata correttamente!","collapse_subject":"Ripiega messaggi con oggetto","confirm_new_password":"Conferma la nuova password","current_password":"La tua password attuale","data_import_export_tab":"Importa o esporta dati","default_vis":"Visibilità predefinita dei messaggi","delete_account":"Elimina profilo","delete_account_description":"Elimina definitivamente i tuoi dati e disattiva il tuo profilo.","delete_account_error":"C\'è stato un problema durante l\'eliminazione del tuo profilo. Se il problema persiste contatta l\'amministratore della tua stanza.","delete_account_instructions":"Digita la tua password nel campo sottostante per eliminare il tuo profilo.","export_theme":"Salva impostazioni","follow_export":"Esporta la lista di chi segui","follow_export_button":"Esporta la lista di chi segui in un file CSV","follow_export_processing":"Sto elaborando, presto ti sarà chiesto di scaricare il tuo file","follow_import":"Importa la lista di chi segui","follow_import_error":"Errore nell\'importazione della lista di chi segui","follows_imported":"Importazione riuscita! L\'elaborazione richiederà un po\' di tempo.","foreground":"Primo piano","general":"Generale","hide_post_stats":"Nascondi statistiche dei messaggi (es. il numero di preferenze)","hide_user_stats":"Nascondi statistiche dell\'utente (es. il numero di seguaci)","import_followers_from_a_csv_file":"Importa una lista di chi segui da un file CSV","import_theme":"Carica impostazioni","inputRadius":"Campi di testo","instance_default":"(predefinito: {value})","interfaceLanguage":"Lingua dell\'interfaccia","invalid_theme_imported":"Il file selezionato non è un tema supportato da Pleroma. Il tuo tema non è stato modificato.","limited_availability":"Non disponibile nel tuo browser","links":"Collegamenti","lock_account_description":"Vaglia manualmente i nuovi seguaci","loop_video":"Riproduci video in ciclo continuo","loop_video_silent_only":"Riproduci solo video muti in ciclo continuo (es. le \\"gif\\" di Mastodon)","new_password":"Nuova password","notification_visibility":"Tipi di notifiche da mostrare","notification_visibility_follows":"Nuovi seguaci","notification_visibility_likes":"Preferiti","notification_visibility_mentions":"Menzioni","notification_visibility_repeats":"Condivisioni","no_rich_text_description":"Togli la formattazione del testo da tutti i messaggi","oauth_tokens":"Token OAuth","token":"Token","refresh_token":"Aggiorna token","valid_until":"Valido fino a","revoke_token":"Revoca","panelRadius":"Pannelli","pause_on_unfocused":"Interrompi l\'aggiornamento continuo mentre la scheda è in secondo piano","presets":"Valori predefiniti","profile_tab":"Profilo","radii_help":"Imposta il raggio degli angoli (in pixel)","replies_in_timeline":"Risposte nelle sequenze","reply_visibility_all":"Mostra tutte le risposte","reply_visibility_following":"Mostra solo le risposte rivolte a me o agli utenti che seguo","reply_visibility_self":"Mostra solo risposte rivolte a me","saving_err":"Errore nel salvataggio delle impostazioni","saving_ok":"Impostazioni salvate","security_tab":"Sicurezza","stop_gifs":"Riproduci GIF al passaggio del cursore","streaming":"Mostra automaticamente i nuovi messaggi quando sei in cima alla pagina","text":"Testo","theme_help":"Usa colori esadecimali (#rrggbb) per personalizzare il tuo schema di colori.","tooltipRadius":"Suggerimenti/avvisi","values":{"false":"no","true":"sì"},"avatar_size_instruction":"La taglia minima per l\'icona personale è 150x150 pixel.","domain_mutes":"Domini","discoverable":"Permetti la scoperta di questo profilo a servizi di ricerca ed altro","composing":"Composizione","changed_email":"Email cambiata con successo!","change_email_error":"C\'è stato un problema nel cambiare la tua email.","change_email":"Cambia email","blocks_tab":"Bloccati","blocks_imported":"Blocchi importati! Saranno elaborati a breve.","block_import_error":"Errore nell\'importazione","block_import":"Importa blocchi","block_export_button":"Esporta i tuoi blocchi in un file CSV","block_export":"Esporta blocchi","allow_following_move":"Consenti l\'iscrizione automatica ai profili traslocati","mfa":{"verify":{"desc":"Per abilitare l\'autenticazione bifattoriale, inserisci il codice fornito dalla tua applicazione:"},"scan":{"secret_code":"Codice","desc":"Con la tua applicazione bifattoriale, acquisisci il QR o inserisci il codice:","title":"Acquisisci"},"authentication_methods":"Metodi di accesso","recovery_codes_warning":"Metti i codici al sicuro, perché non potrai più visualizzarli. Se perderai l\'accesso sia alla tua applicazione bifattoriale che ai codici di recupero non potrai più accedere al tuo profilo.","waiting_a_recovery_codes":"Ricevo codici di recupero…","recovery_codes":"Codici di recupero.","warning_of_generate_new_codes":"Alla generazione di nuovi codici di recupero, quelli vecchi saranno disattivati.","generate_new_recovery_codes":"Genera nuovi codici di recupero","title":"Accesso bifattoriale","confirm_and_enable":"Conferma ed abilita OTP","wait_pre_setup_otp":"preimposto OTP","setup_otp":"Imposta OTP","otp":"OTP"},"enter_current_password_to_confirm":"Inserisci la tua password per identificarti","security":"Sicurezza","app_name":"Nome applicazione","style":{"switcher":{"help":{"older_version_imported":"Il tema importato è stato creato per una versione precedente dell\'interfaccia.","future_version_imported":"Il tema importato è stato creato per una versione più recente dell\'interfaccia.","v2_imported":"Il tema importato è stato creato per una vecchia interfaccia. Non tutto potrebbe essere come inteso.","upgraded_from_v2":"L\'interfaccia è stata aggiornata, il tema potrebbe essere diverso da come lo ricordi.","migration_snapshot_ok":"Ho caricato l\'anteprima del tema. Puoi provare a caricarne i contenuti.","fe_downgraded":"L\'interfaccia è stata portata ad una versione precedente.","fe_upgraded":"Lo schema dei temi è stato aggiornato insieme all\'interfaccia.","snapshot_missing":"Il tema non è provvisto di anteprima, quindi potrebbe essere diverso da come appare.","snapshot_present":"Tutti i valori sono sostituiti dall\'anteprima del tema. Puoi invece caricare i suoi contenuti.","snapshot_source_mismatch":"Conflitto di versione: probabilmente l\'interfaccia è stata portata indietro e poi aggiornata di nuovo. Se hai modificato il tema con una vecchia versione usa il tema precedente, altrimenti puoi usare il nuovo.","migration_napshot_gone":"Anteprima del tema non trovata, non tutto potrebbe essere come ricordi."},"use_source":"Nuova versione","use_snapshot":"Versione precedente","keep_as_is":"Mantieni tal quale","load_theme":"Carica tema","clear_opacity":"Rimuovi opacità","clear_all":"Azzera tutto","reset":"Reimposta","save_load_hint":"Le opzioni \\"mantieni\\" conservano le impostazioni correnti quando selezioni o carichi un tema, e le salvano quando ne esporti uno. Quando nessuna casella è selezionata, tutte le impostazioni correnti saranno salvate nel tema.","keep_fonts":"Mantieni font","keep_roundness":"Mantieni vertici","keep_opacity":"Mantieni opacità","keep_shadows":"Mantieni ombre","keep_color":"Mantieni colori"},"common":{"opacity":"Opacità","color":"Colore","contrast":{"context":{"text":"per il testo","18pt":"per il testo oltre 17pt"},"level":{"bad":"non soddisfa le linee guida di alcun livello","aaa":"soddisfa le linee guida di livello AAA (ottimo)","aa":"soddisfa le linee guida di livello AA (sufficiente)"},"hint":"Il rapporto di contrasto è {ratio}, e {level} {context}"}},"advanced_colors":{"badge":"Sfondo medaglie","post":"Messaggi / Biografie","alert_neutral":"Neutro","alert_warning":"Attenzione","alert_error":"Errore","alert":"Sfondo degli avvertimenti","_tab_label":"Avanzate","tabs":"Etichette","disabled":"Disabilitato","selectedMenu":"Voce menù selezionata","selectedPost":"Messaggio selezionato","pressed":"Premuto","highlight":"Elementi in risalto","icons":"Icone","poll":"Grafico sondaggi","underlay":"Sottostante","faint_text":"Testo sbiadito","inputs":"Campi d\'immissione","buttons":"Pulsanti","borders":"Bordi","top_bar":"Barra superiore","panel_header":"Titolo pannello","badge_notification":"Notifica","popover":"Suggerimenti, menù, sbalzi","toggled":"Scambiato","chat":{"border":"Bordo","outgoing":"Inviati","incoming":"Ricevuti"},"wallpaper":"Sfondo"},"common_colors":{"rgbo":"Icone, accenti, medaglie","foreground_hint":"Seleziona l\'etichetta \\"Avanzate\\" per controlli più fini","main":"Colori comuni","_tab_label":"Comuni"},"shadows":{"inset":"Includi","spread":"Spandi","blur":"Sfoca","shadow_id":"Ombra numero {value}","override":"Sostituisci","component":"Componente","_tab_label":"Luci ed ombre","components":{"avatarStatus":"Icona utente (vista messaggio)","avatar":"Icona utente (vista profilo)","topBar":"Barra superiore","panelHeader":"Intestazione pannello","panel":"Pannello","input":"Campo d\'immissione","buttonPressedHover":"Pulsante (puntato e premuto)","buttonPressed":"Pulsante (premuto)","buttonHover":"Pulsante (puntato)","button":"Pulsante","popup":"Sbalzi e suggerimenti"},"filter_hint":{"inset_classic":"Le ombre incluse usano {0}","spread_zero":"Lo spandimento maggiore di zero si azzera sulle ombre","avatar_inset":"Tieni presente che combinare ombre (sia incluse che non) sulle icone utente potrebbe dare risultati strani con quelle trasparenti.","drop_shadow_syntax":"{0} non supporta il parametro {1} né la keyword {2}.","always_drop_shadow":"Attenzione: quest\'ombra usa sempre {0} se il tuo browser lo supporta."},"hintV3":"Per le ombre puoi anche usare la sintassi {0} per sfruttare il secondo colore."},"radii":{"_tab_label":"Raggio"},"fonts":{"_tab_label":"Font","custom":"Personalizzato","weight":"Grassettatura","size":"Dimensione in pixel","family":"Nome font","components":{"postCode":"Font a spaziatura fissa incluso in un messaggio","post":"Testo del messaggio","input":"Campi d\'immissione","interface":"Interfaccia"},"help":"Seleziona il font da usare per gli elementi dell\'interfaccia. Se scegli \\"personalizzato\\" devi inserire il suo nome di sistema."},"preview":{"link":"un bel collegamentino","checkbox":"Ho dato uno sguardo a termini e condizioni","header_faint":"Tutto bene","fine_print":"Leggi il nostro {0} per imparare un bel niente!","faint_link":"utilissimo manuale","input":"Sono appena atterrato a Fiumicino.","mono":"contenuto","text":"Altro {0} e {1}","content":"Contenuto","button":"Pulsante","error":"Errore d\'esempio","header":"Anteprima"}},"enable_web_push_notifications":"Abilita notifiche web push","fun":"Divertimento","notification_mutes":"Per non ricevere notifiche da uno specifico utente, silenzialo.","notification_setting_privacy_option":"Nascondi mittente e contenuti delle notifiche push","notification_setting_privacy":"Privacy","notification_setting_filters":"Filtri","notifications":"Notifiche","greentext":"Frecce da meme","upload_a_photo":"Carica un\'immagine","type_domains_to_mute":"Cerca domini da silenziare","theme_help_v2_2":"Le icone vicino alcuni elementi sono indicatori del contrasto fra testo e sfondo, passaci sopra col puntatore per ulteriori informazioni. Se usani trasparenze, questi indicatori mostrano il peggior caso possibile.","theme_help_v2_1":"Puoi anche forzare colore ed opacità di alcuni elementi selezionando la casella. Usa il pulsante \\"Azzera\\" per azzerare tutte le forzature.","useStreamingApiWarning":"(Sconsigliato, sperimentale, può saltare messaggi)","useStreamingApi":"Ricevi messaggi e notifiche in tempo reale","user_mutes":"Utenti","post_status_content_type":"Tipo di contenuto dei messaggi","subject_line_noop":"Non copiare","subject_line_mastodon":"Come in Mastodon: copia tal quale","subject_line_email":"Come nelle email: \\"re: oggetto\\"","subject_line_behavior":"Copia oggetto quando rispondi","subject_input_always_show":"Mostra sempre il campo Oggetto","minimal_scopes_mode":"Riduci opzioni di visibilità","scope_copy":"Risposte ereditano la visibilità (messaggi privati lo fanno sempre)","search_user_to_mute":"Cerca utente da silenziare","search_user_to_block":"Cerca utente da bloccare","autohide_floating_post_button":"Nascondi automaticamente il pulsante di composizione (mobile)","show_moderator_badge":"Mostra l\'insegna di moderatore sulla mia pagina","show_admin_badge":"Mostra l\'insegna di amministratore sulla mia pagina","hide_followers_count_description":"Non mostrare quanti seguaci ho","hide_follows_count_description":"Non mostrare quanti utenti seguo","hide_followers_description":"Non mostrare i miei seguaci","hide_follows_description":"Non mostrare chi seguo","no_mutes":"Nessun utente silenziato","no_blocks":"Nessun utente bloccato","notification_visibility_emoji_reactions":"Reazioni","notification_visibility_moves":"Migrazioni utenti","new_email":"Nuova email","use_contain_fit":"Non ritagliare le anteprime degli allegati","play_videos_in_modal":"Riproduci video in un riquadro a sbalzo","mutes_tab":"Silenziati","interface":"Interfaccia","instance_default_simple":"(predefinito)","checkboxRadius":"Caselle di selezione","import_blocks_from_a_csv_file":"Importa blocchi da un file CSV","hide_filtered_statuses":"Nascondi messaggi filtrati","use_one_click_nsfw":"Apri media offuscati con un solo click","preload_images":"Precarica immagini","hide_isp":"Nascondi pannello della stanza","max_thumbnails":"Numero massimo di anteprime per messaggio","hide_muted_posts":"Nascondi messaggi degli utenti silenziati","accent":"Accento","emoji_reactions_on_timeline":"Mostra reazioni nelle sequenze","pad_emoji":"Affianca spazi agli emoji inseriti tramite selettore","notification_blocks":"Bloccando un utente non riceverai più le sue notifiche né lo seguirai più.","mutes_and_blocks":"Silenziati e bloccati","profile_fields":{"value":"Contenuto","name":"Descrizione","add_field":"Aggiungi campo","label":"Metadati profilo"},"bot":"Questo è un robot","version":{"frontend_version":"Versione interfaccia","backend_version":"Versione backend","title":"Versione"},"reset_avatar":"Azzera icona","reset_profile_background":"Azzera sfondo","reset_profile_banner":"Azzera gonfalone","reset_avatar_confirm":"Vuoi veramente azzerare l\'icona?","reset_banner_confirm":"Vuoi veramente azzerare il gonfalone?","reset_background_confirm":"Vuoi veramente azzerare lo sfondo?","chatMessageRadius":"Messaggi istantanei","notification_setting_hide_notification_contents":"Nascondi mittente e contenuti delle notifiche push","notification_setting_block_from_strangers":"Blocca notifiche da utenti che non segui","virtual_scrolling":"Velocizza l\'elaborazione delle sequenze","import_mutes_from_a_csv_file":"Importa silenziati da un file CSV","mutes_imported":"Silenziati importati! Elaborazione in corso.","mute_import_error":"Errore nell\'importazione","mute_import":"Carica silenziati","mute_export_button":"Esporta i silenziati in un file CSV","mute_export":"Esporta silenziati","hide_wallpaper":"Nascondi sfondo della stanza","setting_changed":"Valore personalizzato","more_settings":"Altre impostazioni","sensitive_by_default":"Tutti i miei messaggi sono scabrosi","reply_visibility_self_short":"Vedi solo risposte a te","reply_visibility_following_short":"Vedi risposte a messaggi di altri","hide_all_muted_posts":"Nascondi messaggi silenziati","hide_media_previews":"Nascondi anteprime","word_filter":"Parole filtrate","save":"Salva modifiche","file_export_import":{"errors":{"file_slightly_new":"Versione minore diversa, qualcosa potrebbe non combaciare.","file_too_old":"Versione troppo vecchia: {fileMajor}. Questa versione dell\'interfaccia ({feMajor}) non supporta il file.","file_too_new":"Versione troppo recente: {fileMajor}. Questa versione dell\'interfaccia ({feMajor}) non supporta il file.","invalid_file":"Il file selezionato non è un archivio supportato. Nessuna modifica è stata apportata."},"restore_settings":"Carica impostazioni sul server","backup_settings_theme":"Archivia impostazioni e tema localmente","backup_settings":"Archivia impostazioni localmente","backup_restore":"Archiviazione impostazioni"}},"timeline":{"error_fetching":"Errore nell\'aggiornamento","load_older":"Carica messaggi precedenti","show_new":"Mostra nuovi","up_to_date":"Aggiornato","collapse":"Ripiega","conversation":"Conversazione","no_retweet_hint":"Il messaggio è diretto o solo per seguaci e non può essere condiviso","repeated":"ha condiviso","no_statuses":"Nessun messaggio","no_more_statuses":"Fine dei messaggi","reload":"Ricarica","error":"Errore nel caricare la sequenza: {0}","socket_broke":"Connessione tempo reale interrotta: codice {0}","socket_reconnected":"Connesso in tempo reale"},"user_card":{"follow":"Segui","followees":"Segue","followers":"Seguaci","following":"Seguìto!","follows_you":"Ti segue!","mute":"Silenzia","muted":"Silenziato","per_day":"al giorno","statuses":"Messaggi","approve":"Approva","block":"Blocca","blocked":"Bloccato!","deny":"Nega","remote_follow":"Segui da remoto","admin_menu":{"delete_user_confirmation":"Ne sei completamente sicuro? Non potrai tornare indietro.","delete_user":"Elimina utente","quarantine":"I messaggi non arriveranno alle altre stanze","disable_any_subscription":"Rendi utente non seguibile","disable_remote_subscription":"Blocca i tentativi di seguirlo da altre stanze","sandbox":"Rendi tutti i messaggi solo per seguaci","force_unlisted":"Nascondi tutti i messaggi","strip_media":"Rimuovi ogni allegato ai messaggi","force_nsfw":"Oscura tutti i messaggi","delete_account":"Elimina profilo","deactivate_account":"Disattiva profilo","activate_account":"Attiva profilo","revoke_moderator":"Divesti Moderatore","grant_moderator":"Crea Moderatore","revoke_admin":"Divesti Amministratore","grant_admin":"Crea Amministratore","moderation":"Moderazione"},"show_repeats":"Mostra condivisioni","hide_repeats":"Nascondi condivisioni","mute_progress":"Silenzio…","unmute_progress":"Riabilito…","unmute":"Riabilita","block_progress":"Blocco…","unblock_progress":"Sblocco…","unblock":"Sblocca","unsubscribe":"Disdici","subscribe":"Abbònati","report":"Segnala","mention":"Menziona","media":"Media","its_you":"Sei tu!","hidden":"Nascosto","follow_unfollow":"Disconosci","follow_again":"Reinvio richiesta?","follow_progress":"Richiedo…","follow_sent":"Richiesta inviata!","favorites":"Preferiti","message":"Contatta","bot":"Bot","highlight":{"side":"Nastro a lato","striped":"A righe","solid":"Un colore","disabled":"Nessun risalto"}},"chat":{"title":"Chat"},"features_panel":{"chat":"Chat","gopher":"Gopher","media_proxy":"Proxy allegati","scope_options":"Opzioni visibilità","text_limit":"Lunghezza massima","title":"Caratteristiche","who_to_follow":"Chi seguire","pleroma_chat_messages":"Chiacchiere","upload_limit":"Limite allegati"},"finder":{"error_fetching_user":"Errore nel recupero dell\'utente","find_user":"Cerca utente"},"login":{"login":"Accedi","logout":"Disconnettiti","password":"Password","placeholder":"es. Lupo Lucio","register":"Registrati","username":"Nome utente","description":"Accedi con OAuth","hint":"Accedi per conversare","authentication_code":"Codice di autenticazione","enter_recovery_code":"Inserisci un codice di recupero","enter_two_factor_code":"Inserisci un codice 2FA","recovery_code":"Codice di recupero","heading":{"totp":"Autenticazione 2FA","recovery":"Recupero 2FA"}},"post_status":{"account_not_locked_warning":"Il tuo profilo non è {0}. Chiunque può seguirti e vedere i tuoi messaggi per seguaci.","account_not_locked_warning_link":"protetto","attachments_sensitive":"Nascondi gli allegati","content_type":{"text/plain":"Testo normale","text/bbcode":"BBCode","text/markdown":"Markdown","text/html":"HTML"},"content_warning":"Oggetto (facoltativo)","default":"Sono appena atterrato a Città Laggiù.","direct_warning":"Questo post sarà visibile solo dagli utenti menzionati.","posting":"Sto pubblicando","scope":{"direct":"Diretto - Visibile solo agli utenti menzionati","private":"Solo per seguaci - Visibile solo dai tuoi seguaci","public":"Pubblico - Visibile sulla sequenza pubblica","unlisted":"Nascosto - Non visibile sulla sequenza pubblica"},"scope_notice":{"unlisted":"Questo messaggio non sarà visibile sulla sequenza locale né su quella pubblica","private":"Questo messaggio sarà visibile solo ai tuoi seguaci","public":"Questo messaggio sarà visibile a tutti"},"direct_warning_to_first_only":"Questo messaggio sarà visibile solo agli utenti menzionati in testa.","direct_warning_to_all":"Questo messaggio sarà visibile a tutti i menzionati.","new_status":"Nuovo messaggio","empty_status_error":"Aggiungi del testo o degli allegati","preview_empty":"Vuoto","preview":"Anteprima","media_description_error":"Allegati non caricati, riprova","media_description":"Descrizione allegati","post":"Pubblica"},"registration":{"bio":"Introduzione","email":"Email","fullname":"Nome visualizzato","password_confirm":"Conferma password","registration":"Registrazione","token":"Codice d\'invito","validations":{"password_confirmation_match":"dovrebbe essere uguale alla password","password_confirmation_required":"non può essere vuoto","password_required":"non può essere vuoto","email_required":"non può essere vuoto","fullname_required":"non può essere vuoto","username_required":"non può essere vuoto"},"bio_placeholder":"es.\\nCiao, sono Lupo Lucio.\\nSono un lupo fantastico che vive nel Fantabosco. Forse mi hai visto alla Melevisione.","fullname_placeholder":"es. Lupo Lucio","username_placeholder":"es. mister_wolf","new_captcha":"Clicca il captcha per averne uno nuovo","captcha":"CAPTCHA","reason_placeholder":"L\'amministratore esamina ciascuna richiesta.\\nFornisci il motivo della tua iscrizione.","reason":"Motivo dell\'iscrizione","register":"Registrati"},"user_profile":{"timeline_title":"Sequenza dell\'utente","profile_loading_error":"Spiacente, c\'è stato un errore nel caricamento del profilo.","profile_does_not_exist":"Spiacente, questo profilo non esiste."},"who_to_follow":{"more":"Altro","who_to_follow":"Chi seguire"},"about":{"mrf":{"federation":"Federazione","keyword":{"reject":"Rifiuta","replace":"Sostituisci","is_replaced_by":"→","keyword_policies":"Regole per parole chiave","ftl_removal":"Rimozione dalla sequenza federale"},"simple":{"reject":"Rifiuta","accept":"Accetta","simple_policies":"Regole specifiche alla stanza","accept_desc":"Questa stanza accetta messaggi solo dalle seguenti altre:","reject_desc":"Questa stanza rifiuterà i messaggi provenienti dalle seguenti:","quarantine":"Quarantena","quarantine_desc":"Questa stanza inoltrerà solo messaggi pubblici alle seguenti:","ftl_removal":"Rimozione dalla sequenza federale","ftl_removal_desc":"Questa stanza rimuove le seguenti dalla sequenza federale:","media_removal":"Rimozione multimedia","media_removal_desc":"Questa istanza rimuove gli allegati dalle seguenti stanze:","media_nsfw":"Allegati oscurati d\'ufficio","media_nsfw_desc":"Questa stanza oscura gli allegati dei messaggi provenienti da queste stanze:"},"mrf_policies":"Regole RM abilitate","mrf_policies_desc":"Le regole RM cambiano il comportamento federativo della stanza. Vigono le seguenti regole:"},"staff":"Responsabili"},"domain_mute_card":{"mute":"Silenzia","mute_progress":"Silenzio…","unmute":"Ascolta","unmute_progress":"Procedo…"},"exporter":{"export":"Esporta","processing":"In elaborazione, il tuo file sarà scaricabile a breve"},"image_cropper":{"crop_picture":"Ritaglia immagine","save":"Salva","save_without_cropping":"Salva senza ritagliare","cancel":"Annulla"},"importer":{"submit":"Invia","success":"Importato.","error":"L\'importazione non è andata a buon fine."},"media_modal":{"previous":"Precedente","next":"Prossimo"},"polls":{"add_poll":"Sondaggio","add_option":"Aggiungi opzione","option":"Opzione","votes":"voti","vote":"Vota","type":"Tipo di sondaggio","single_choice":"Scelta singola","multiple_choices":"Scelta multipla","expiry":"Età","expires_in":"Chiude fra {0}","expired":"Chiuso {0} fa","not_enough_options":"Aggiungi altre risposte","votes_count":"{count} voto | {count} voti","people_voted_count":"{count} votante | {count} votanti"},"interactions":{"favs_repeats":"Condivisi e Graditi","load_older":"Carica vecchie interazioni","moves":"Utenti migrati","follows":"Nuovi seguìti"},"emoji":{"load_all":"Carico tutti i {emojiAmount} emoji","load_all_hint":"Primi {saneAmount} emoji caricati, caricarli tutti potrebbe causare rallentamenti.","unicode":"Emoji Unicode","custom":"Emoji della stanza","add_emoji":"Inserisci emoji","search_emoji":"Cerca un emoji","keep_open":"Tieni aperto il menù","emoji":"Emoji","stickers":"Adesivi"},"selectable_list":{"select_all":"Seleziona tutto"},"remote_user_resolver":{"error":"Non trovato.","searching_for":"Cerco","remote_user_resolver":"Cerca utenti remoti"},"errors":{"storage_unavailable":"Pleroma non può accedere ai dati del tuo browser. Il tuo accesso o le tue impostazioni non saranno salvate e potresti incontrare strani errori. Prova ad abilitare i cookie."},"status":{"pinned":"Intestato","unpin":"De-intesta","pin":"Intesta al profilo","delete":"Elimina messaggio","repeats":"Condivisi","favorites":"Preferiti","hide_content":"Nascondi contenuti","show_content":"Mostra contenuti","hide_full_subject":"Nascondi oggetto intero","show_full_subject":"Mostra oggetto intero","thread_muted_and_words":", contiene:","thread_muted":"Discussione silenziata","copy_link":"Copia collegamento","status_unavailable":"Messaggio non disponibile","unmute_conversation":"Riabilita conversazione","mute_conversation":"Silenzia conversazione","replies_list":"Risposte:","reply_to":"In risposta a","delete_confirm":"Vuoi veramente eliminare questo messaggio?","unbookmark":"Rimuovi segnalibro","bookmark":"Aggiungi segnalibro","status_deleted":"Questo messagio è stato cancellato","nsfw":"DISDICEVOLE","external_source":"Vai all\'origine","expand":"Espandi"},"time":{"years_short":"{0} a","year_short":"{0} a","years":"{0} anni","year":"{0} anno","weeks_short":"{0} stm","week_short":"{0} stm","seconds_short":"{0} sec","second_short":"{0} sec","weeks":"{0} settimane","week":"{0} settimana","seconds":"{0} secondi","second":"{0} secondo","now_short":"adesso","now":"adesso","months_short":"{0} ms","month_short":"{0} ms","months":"{0} mesi","month":"{0} mese","minutes_short":"{0} min","minute_short":"{0} min","minutes":"{0} minuti","minute":"{0} minuto","in_past":"{0} fa","in_future":"fra {0}","hours_short":"{0} h","days_short":"{0} g","hour_short":"{0} h","hours":"{0} ore","hour":"{0} ora","day_short":"{0} g","days":"{0} giorni","day":"{0} giorno"},"user_reporting":{"title":"Segnalo {0}","additional_comments":"Osservazioni accessorie","generic_error":"C\'è stato un errore nell\'elaborazione della tua richiesta.","submit":"Invia","forward_to":"Inoltra a {0}","forward_description":"Il profilo appartiene ad un\'altra stanza. Inviare la segnalazione anche a quella?","add_comment_description":"La segnalazione sarà inviata ai moderatori della tua stanza. Puoi motivarla qui sotto:"},"password_reset":{"password_reset_required_but_mailer_is_disabled":"Devi reimpostare la tua password, ma non puoi farlo. Contatta l\'amministratore.","password_reset_required":"Devi reimpostare la tua password per poter continuare.","password_reset_disabled":"Non puoi azzerare la tua password. Contatta il tuo amministratore.","too_many_requests":"Hai raggiunto il numero massimo di tentativi, riprova più tardi.","return_home":"Torna alla pagina principale","check_email":"Controlla la tua posta elettronica.","placeholder":"La tua email o nome utente","instruction":"Inserisci il tuo indirizzo email o il tuo nome utente. Ti invieremo un collegamento per reimpostare la tua password.","password_reset":"Azzera password","forgot_password":"Password dimenticata?"},"search":{"no_results":"Nessun risultato","people_talking":"{count} partecipanti","person_talking":"{count} partecipante","hashtags":"Etichette","people":"Utenti"},"upload":{"file_size_units":{"TiB":"TiB","GiB":"GiB","MiB":"MiB","KiB":"KiB","B":"B"},"error":{"default":"Riprova in seguito","file_too_big":"File troppo pesante [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","base":"Caricamento fallito.","message":"Caricamento fallito: {0}"}},"tool_tip":{"bookmark":"Aggiungi segnalibro","reject_follow_request":"Rifiuta seguace","accept_follow_request":"Accetta seguace","user_settings":"Impostazioni utente","add_reaction":"Reagisci","favorite":"Gradisci","reply":"Rispondi","repeat":"Condividi","media_upload":"Carica allegati"},"display_date":{"today":"Oggi"},"file_type":{"file":"File","image":"Immagine","video":"Video","audio":"Audio"},"chats":{"empty_chat_list_placeholder":"Non hai conversazioni. Contatta qualcuno!","error_sending_message":"Errore. Il messaggio non è stato inviato.","error_loading_chat":"Errore. La conversazione non è stata caricata.","delete_confirm":"Vuoi veramente eliminare questo messaggio?","more":"Altro","empty_message_error":"Non puoi inviare messaggi vuoti","new":"Nuova conversazione","chats":"Conversazioni","delete":"Elimina","message_user":"Contatta {nickname}","you":"Tu:"},"shoutbox":{"title":"Graffiti"}}')}}]); -//# sourceMappingURL=18.ffde79cfe78615dbb020.js.map \ No newline at end of file diff --git a/priv/static/static/js/18.ffde79cfe78615dbb020.js.map b/priv/static/static/js/18.ffde79cfe78615dbb020.js.map deleted file mode 100644 index 21c9fcc95..000000000 --- a/priv/static/static/js/18.ffde79cfe78615dbb020.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/18.ffde79cfe78615dbb020.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/19.c031807287d659bd841d.js.map b/priv/static/static/js/19.c031807287d659bd841d.js.map deleted file mode 100644 index 4a5527aae..000000000 --- a/priv/static/static/js/19.c031807287d659bd841d.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/19.c031807287d659bd841d.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/19.c031807287d659bd841d.js b/priv/static/static/js/19.e513835c3274271258fa.js similarity index 83% rename from priv/static/static/js/19.c031807287d659bd841d.js rename to priv/static/static/js/19.e513835c3274271258fa.js index 8664e0814..1a4c2d230 100644 --- a/priv/static/static/js/19.c031807287d659bd841d.js +++ b/priv/static/static/js/19.e513835c3274271258fa.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{600:function(e){e.exports=JSON.parse('{"about":{"mrf":{"federation":"フェデレーション","mrf_policies":"ゆうこうなMRFポリシー","mrf_policies_desc":"MRFポリシーは、このインスタンスのフェデレーションのふるまいを、いじります。これらのMRFポリシーがゆうこうになっています:","simple":{"simple_policies":"インスタンスのポリシー","accept":"うけいれ","accept_desc":"このインスンスは、これらのインスタンスからのメッセージのみをうけいれます:","reject":"おことわり","reject_desc":"このインスタンスは、これらのインスタンスからのメッセージをうけいれません:","quarantine":"けんえき","quarantine_desc":"このインスタンスは、これらのインスタンスに、パブリックなとうこうのみを、おくります:","ftl_removal":"「つながっているすべてのネットワーク」タイムラインからのぞく","ftl_removal_desc":"このインスタンスは、つながっているすべてのネットワーク」タイムラインから、これらのインスタンスを、とりのぞきます:","media_removal":"メディアをのぞく","media_removal_desc":"このインスタンスは、これらのインスタンスからおくられてきたメディアを、とりのぞきます:","media_nsfw":"メディアをすべてセンシティブにする","media_nsfw_desc":"このインスタンスは、これらのインスタンスからおくられてきたメディアを、すべて、センシティブにマークします:"}},"staff":"スタッフ"},"chat":{"title":"チャット"},"exporter":{"export":"エクスポート","processing":"おまちください。しばらくすると、あなたのファイルをダウンロードするように、メッセージがでます"},"features_panel":{"chat":"チャット","gopher":"Gopher","media_proxy":"メディアプロクシ","scope_options":"こうかいはんいせんたく","text_limit":"もじのかず","title":"ゆうこうなきのう","who_to_follow":"おすすめユーザー"},"finder":{"error_fetching_user":"ユーザーけんさくがエラーになりました","find_user":"ユーザーをさがす"},"general":{"apply":"てきよう","submit":"そうしん","more":"つづき","generic_error":"エラーになりました","optional":"かかなくてもよい","show_more":"つづきをみる","show_less":"たたむ","cancel":"キャンセル","disable":"なし","enable":"あり","confirm":"たしかめる","verify":"たしかめる"},"image_cropper":{"crop_picture":"がぞうをきりぬく","save":"セーブ","save_without_cropping":"きりぬかずにセーブ","cancel":"キャンセル"},"importer":{"submit":"そうしん","success":"インポートできました。","error":"インポートがエラーになりました。"},"login":{"login":"ログイン","description":"OAuthでログイン","logout":"ログアウト","password":"パスワード","placeholder":"れい: lain","register":"はじめる","username":"ユーザーめい","hint":"はなしあいにくわわるには、ログインしてください","authentication_code":"にんしょうコード","enter_recovery_code":"リカバリーコードをいれてください","enter_two_factor_code":"2-ファクターコードをいれてください","recovery_code":"リカバリーコード","heading":{"totp":"2-ファクターにんしょう","recovery":"2-ファクターリカバリー"}},"media_modal":{"previous":"まえ","next":"つぎ"},"nav":{"about":"これはなに?","administration":"アドミニストレーション","back":"もどる","chat":"ローカルチャット","friend_requests":"フォローリクエスト","mentions":"メンション","interactions":"やりとり","dms":"ダイレクトメッセージ","public_tl":"パブリックタイムライン","timeline":"タイムライン","twkn":"つながっているすべてのネットワーク","user_search":"ユーザーをさがす","search":"さがす","who_to_follow":"おすすめユーザー","preferences":"せってい"},"notifications":{"broken_favorite":"ステータスがみつかりません。さがしています…","favorited_you":"あなたのステータスがおきにいりされました","followed_you":"フォローされました","load_older":"ふるいつうちをみる","notifications":"つうち","read":"よんだ!","repeated_you":"あなたのステータスがリピートされました","no_more_notifications":"つうちはありません"},"polls":{"add_poll":"いれふだをはじめる","add_option":"オプションをふやす","option":"オプション","votes":"いれふだ","vote":"ふだをいれる","type":"いれふだのかた","single_choice":"ひとつえらぶ","multiple_choices":"いくつでもえらべる","expiry":"いれふだのながさ","expires_in":"いれふだは {0} で、おわります","expired":"いれふだは {0} まえに、おわりました","not_enough_options":"ユニークなオプションが、たりません"},"emoji":{"stickers":"ステッカー","emoji":"えもじ","keep_open":"ピッカーをあけたままにする","search_emoji":"えもじをさがす","add_emoji":"えもじをうちこむ","custom":"カスタムえもじ","unicode":"ユニコードえもじ","load_all_hint":"はじめの {saneAmount} このえもじだけがロードされています。すべてのえもじをロードすると、パフォーマンスがわるくなるかもしれません。","load_all":"すべてのえもじをロード ({emojiAmount} こあります)"},"stickers":{"add_sticker":"ステッカーをふやす"},"interactions":{"favs_repeats":"リピートとおきにいり","follows":"あたらしいフォロー","load_older":"ふるいやりとりをみる"},"post_status":{"new_status":"とうこうする","account_not_locked_warning":"あなたのアカウントは {0} ではありません。あなたをフォローすれば、だれでも、フォロワーげんていのステータスをよむことができます。","account_not_locked_warning_link":"ロックされたアカウント","attachments_sensitive":"ファイルをNSFWにする","content_type":{"text/plain":"プレーンテキスト","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},"content_warning":"せつめい (かかなくてもよい)","default":"はねだくうこうに、つきました。","direct_warning_to_all":"このとうこうは、メンションされたすべてのユーザーが、みることができます。","direct_warning_to_first_only":"このとうこうは、メッセージのはじめでメンションされたユーザーだけが、みることができます。","direct_warning":"このステータスは、メンションされたユーザーだけが、よむことができます。","posting":"とうこう","scope_notice":{"public":"このとうこうは、だれでもみることができます","private":"このとうこうは、あなたのフォロワーだけが、みることができます","unlisted":"このとうこうは、パブリックタイムラインと、つながっているすべてのネットワークでは、みることができません"},"scope":{"direct":"ダイレクト: メンションされたユーザーのみにとどきます","private":"フォロワーげんてい: フォロワーのみにとどきます","public":"パブリック: パブリックタイムラインにとどきます","unlisted":"アンリステッド: パブリックタイムラインにとどきません"}},"registration":{"bio":"プロフィール","email":"Eメール","fullname":"スクリーンネーム","password_confirm":"パスワードのかくにん","registration":"はじめる","token":"しょうたいトークン","captcha":"CAPTCHA","new_captcha":"もじがよめないときは、がぞうをクリックすると、あたらしいがぞうになります","username_placeholder":"れい: lain","fullname_placeholder":"れい: いわくら れいん","bio_placeholder":"れい:\\nごきげんよう。わたしはれいん。\\nわたしはアニメのおんなのこで、にほんのベッドタウンにすんでいます。ワイヤードで、わたしにあったことが、あるかもしれませんね。","validations":{"username_required":"なにかかいてください","fullname_required":"なにかかいてください","email_required":"なにかかいてください","password_required":"なにかかいてください","password_confirmation_required":"なにかかいてください","password_confirmation_match":"パスワードがちがいます"}},"remote_user_resolver":{"remote_user_resolver":"リモートユーザーリゾルバー","searching_for":"さがしています:","error":"みつかりませんでした。"},"selectable_list":{"select_all":"すべてえらぶ"},"settings":{"app_name":"アプリのなまえ","security":"セキュリティ","enter_current_password_to_confirm":"あなたのアイデンティティをたしかめるため、あなたのいまのパスワードをかいてください","mfa":{"otp":"OTP","setup_otp":"OTPをつくる","wait_pre_setup_otp":"OTPをよういしています","confirm_and_enable":"OTPをたしかめて、ゆうこうにする","title":"2-ファクターにんしょう","generate_new_recovery_codes":"あたらしいリカバリーコードをつくる","warning_of_generate_new_codes":"あたらしいリカバリーコードをつくったら、ふるいコードはつかえなくなります。","recovery_codes":"リカバリーコード。","waiting_a_recovery_codes":"バックアップコードをうけとっています…","recovery_codes_warning":"コードをかきうつすか、ひとにみられないところにセーブしてください。そうでなければ、あなたはこのコードをふたたびみることはできません。もしあなたが、2FAアプリのアクセスをうしなって、なおかつ、リカバリーコードもおもいだせないならば、あなたはあなたのアカウントから、しめだされます。","authentication_methods":"にんしょうメソッド","scan":{"title":"スキャン","desc":"あなたの2-ファクターアプリをつかって、このQRコードをスキャンするか、テキストキーをうちこんでください:","secret_code":"キー"},"verify":{"desc":"2-ファクターにんしょうをつかうには、あなたの2-ファクターアプリのコードをいれてください:"}},"attachmentRadius":"ファイル","attachments":"ファイル","avatar":"アバター","avatarAltRadius":"つうちのアバター","avatarRadius":"アバター","background":"バックグラウンド","bio":"プロフィール","block_export":"ブロックのエクスポート","block_export_button":"ブロックをCSVファイルにエクスポート","block_import":"ブロックのインポート","block_import_error":"ブロックのインポートがエラーになりました","blocks_imported":"ブロックをインポートしました! じっさいにブロックするまでには、もうしばらくかかります。","blocks_tab":"ブロック","btnRadius":"ボタン","cBlue":"リプライとフォロー","cGreen":"リピート","cOrange":"おきにいり","cRed":"キャンセル","change_email":"メールアドレスをかえる","change_email_error":"メールアドレスをかえようとしましたが、なにかがおかしいです。","changed_email":"メールアドレスをかえることができました!","change_password":"パスワードをかえる","change_password_error":"パスワードをかえることが、できなかったかもしれません。","changed_password":"パスワードが、かわりました!","collapse_subject":"せつめいのあるとうこうをたたむ","composing":"とうこう","confirm_new_password":"あたらしいパスワードのかくにん","current_avatar":"いまのアバター","current_password":"いまのパスワード","current_profile_banner":"いまのプロフィールバナー","data_import_export_tab":"インポートとエクスポート","default_vis":"デフォルトのこうかいはんい","delete_account":"アカウントをけす","delete_account_description":"あなたのアカウントとメッセージが、きえます。","delete_account_error":"アカウントをけすことが、できなかったかもしれません。インスタンスのアドミニストレーターに、おといあわせください。","delete_account_instructions":"ほんとうにアカウントをけしてもいいなら、パスワードをかいてください。","discoverable":"けんさくなどのサービスで、このアカウントをみつけてもよい","avatar_size_instruction":"アバターのおおきさは、150×150ピクセルか、それよりもおおきくするといいです。","pad_emoji":"えもじをピッカーでえらんだとき、えもじのまわりにスペースをいれる","export_theme":"セーブ","filtering":"フィルタリング","filtering_explanation":"これらのことばをふくむすべてのものがミュートされます。1ぎょうに1つのことばをかいてください","follow_export":"フォローのエクスポート","follow_export_button":"エクスポート","follow_export_processing":"おまちください。まもなくファイルをダウンロードできます。","follow_import":"フォローインポート","follow_import_error":"フォローのインポートがエラーになりました","follows_imported":"フォローがインポートされました! すこしじかんがかかるかもしれません。","foreground":"フォアグラウンド","general":"ぜんぱん","hide_attachments_in_convo":"スレッドのファイルをかくす","hide_attachments_in_tl":"タイムラインのファイルをかくす","hide_muted_posts":"ミュートしたユーザーのとうこうをかくす","max_thumbnails":"ひとつのとうこうにいれられるサムネイルのかず","hide_isp":"インスタンススペシフィックパネルをかくす","preload_images":"がぞうをさきよみする","use_one_click_nsfw":"NSFWなファイルを1クリックでひらく","hide_post_stats":"とうこうのとうけいをかくす (れい: おきにいりのかず)","hide_user_stats":"ユーザーのとうけいをかくす (れい: フォロワーのかず)","hide_filtered_statuses":"フィルターされたとうこうをかくす","import_blocks_from_a_csv_file":"CSVファイルからブロックをインポートする","import_followers_from_a_csv_file":"CSVファイルからフォローをインポートする","import_theme":"ロード","inputRadius":"インプットフィールド","checkboxRadius":"チェックボックス","instance_default":"(デフォルト: {value})","instance_default_simple":"(デフォルト)","interface":"インターフェース","interfaceLanguage":"インターフェースのことば","invalid_theme_imported":"このファイルはPleromaのテーマではありません。テーマはへんこうされませんでした。","limited_availability":"あなたのブラウザではできません","links":"リンク","lock_account_description":"あなたがみとめたひとだけ、あなたのアカウントをフォローできる","loop_video":"ビデオをくりかえす","loop_video_silent_only":"おとのないビデオだけくりかえす","mutes_tab":"ミュート","play_videos_in_modal":"ビデオをメディアビューアーでみる","use_contain_fit":"がぞうのサムネイルを、きりぬかない","name":"なまえ","name_bio":"なまえとプロフィール","new_email":"あたらしいメールアドレス","new_password":"あたらしいパスワード","notification_visibility":"ひょうじするつうち","notification_visibility_follows":"フォロー","notification_visibility_likes":"おきにいり","notification_visibility_mentions":"メンション","notification_visibility_repeats":"リピート","no_rich_text_description":"リッチテキストをつかわない","no_blocks":"ブロックしていません","no_mutes":"ミュートしていません","hide_follows_description":"フォローしているひとをみせない","hide_followers_description":"フォロワーをみせない","hide_follows_count_description":"フォローしているひとのかずをみせない","hide_followers_count_description":"フォロワーのかずをみせない","show_admin_badge":"アドミンのしるしをみせる","show_moderator_badge":"モデレーターのしるしをみせる","nsfw_clickthrough":"NSFWなファイルをかくす","oauth_tokens":"OAuthトークン","token":"トークン","refresh_token":"トークンをリフレッシュ","valid_until":"おわりのとき","revoke_token":"とりけす","panelRadius":"パネル","pause_on_unfocused":"タブにフォーカスがないときストリーミングをとめる","presets":"プリセット","profile_background":"プロフィールのバックグラウンド","profile_banner":"プロフィールバナー","profile_tab":"プロフィール","radii_help":"インターフェースのまるさをせっていする","replies_in_timeline":"タイムラインのリプライ","reply_visibility_all":"すべてのリプライをみる","reply_visibility_following":"わたしにあてられたリプライと、フォローしているひとからのリプライをみる","reply_visibility_self":"わたしにあてられたリプライをみる","autohide_floating_post_button":"あたらしいとうこうのボタンを、じどうてきにかくす (モバイル)","saving_err":"せっていをセーブできませんでした","saving_ok":"せっていをセーブしました","search_user_to_block":"ブロックしたいひとを、ここでけんさくできます","search_user_to_mute":"ミュートしたいひとを、ここでけんさくできます","security_tab":"セキュリティ","scope_copy":"リプライするとき、こうかいはんいをコピーする (DMのこうかいはんいは、つねにコピーされます)","minimal_scopes_mode":"こうかいはんいせんたくオプションを、ちいさくする","set_new_avatar":"あたらしいアバターをせっていする","set_new_profile_background":"あたらしいプロフィールのバックグラウンドをせっていする","set_new_profile_banner":"あたらしいプロフィールバナーを設定する","settings":"せってい","subject_input_always_show":"サブジェクトフィールドをいつでもひょうじする","subject_line_behavior":"リプライするときサブジェクトをコピーする","subject_line_email":"メールふう: \\"re: サブジェクト\\"","subject_line_mastodon":"マストドンふう: そのままコピー","subject_line_noop":"コピーしない","post_status_content_type":"とうこうのコンテントタイプ","stop_gifs":"カーソルをかさねたとき、GIFをうごかす","streaming":"うえまでスクロールしたとき、じどうてきにストリーミングする","text":"もじ","theme":"テーマ","theme_help":"カラーテーマをカスタマイズできます。","theme_help_v2_1":"チェックボックスをONにすると、コンポーネントごとに、いろと、とうめいどを、オーバーライドできます。「すべてクリア」ボタンをおすと、すべてのオーバーライドを、やめます。","theme_help_v2_2":"バックグラウンドとテキストのコントラストをあらわすアイコンがあります。マウスをホバーすると、くわしいせつめいがでます。とうめいないろをつかっているときは、もっともわるいばあいのコントラストがしめされます。","upload_a_photo":"がぞうをアップロード","tooltipRadius":"ツールチップとアラート","user_settings":"ユーザーせってい","values":{"false":"いいえ","true":"はい"},"fun":"おたのしみ","greentext":"ミームやじるし","notifications":"つうち","notification_mutes":"あるユーザーからのつうちをとめるには、ミュートしてください。","notification_blocks":"ブロックしているユーザーからのつうちは、すべてとまります。","enable_web_push_notifications":"ウェブプッシュつうちをゆるす","style":{"switcher":{"keep_color":"いろをのこす","keep_shadows":"かげをのこす","keep_opacity":"とうめいどをのこす","keep_roundness":"まるさをのこす","keep_fonts":"フォントをのこす","save_load_hint":"「のこす」オプションをONにすると、テーマをえらんだときとロードしたとき、いまのせっていをのこします。また、テーマをエクスポートするとき、これらのオプションをストアします。すべてのチェックボックスをOFFにすると、テーマをエクスポートしたとき、すべてのせっていをセーブします。","reset":"リセット","clear_all":"すべてクリア","clear_opacity":"とうめいどをクリア"},"common":{"color":"いろ","opacity":"とうめいど","contrast":{"hint":"コントラストは {ratio} です。{level}。({context})","level":{"aa":"AAレベルガイドライン (ミニマル) をみたします","aaa":"AAAレベルガイドライン (レコメンデッド) をみたします","bad":"ガイドラインをみたしません"},"context":{"18pt":"おおきい (18ポイントいじょう) テキスト","text":"テキスト"}}},"common_colors":{"_tab_label":"きょうつう","main":"きょうつうのいろ","foreground_hint":"「くわしく」タブで、もっとこまかくせっていできます","rgbo":"アイコンとアクセントとバッジ"},"advanced_colors":{"_tab_label":"くわしく","alert":"アラートのバックグラウンド","alert_error":"エラー","alert_warning":"けいこく","badge":"バッジのバックグラウンド","badge_notification":"つうち","panel_header":"パネルヘッダー","top_bar":"トップバー","borders":"さかいめ","buttons":"ボタン","inputs":"インプットフィールド","faint_text":"うすいテキスト"},"radii":{"_tab_label":"まるさ"},"shadows":{"_tab_label":"ひかりとかげ","component":"コンポーネント","override":"オーバーライド","shadow_id":"かげ #{value}","blur":"ぼかし","spread":"ひろがり","inset":"うちがわ","hint":"かげのせっていでは、いろのあたいとして --variable をつかうことができます。これはCSS3へんすうです。ただし、とうめいどのせっていは、きかなくなります。","filter_hint":{"always_drop_shadow":"ブラウザーがサポートしていれば、つねに {0} がつかわれます。","drop_shadow_syntax":"{0} は、{1} パラメーターと {2} キーワードをサポートしていません。","avatar_inset":"うちがわのかげと、そとがわのかげを、いっしょにつかうと、とうめいなアバターが、へんなみためになります。","spread_zero":"ひろがりが 0 よりもおおきなかげは、0 とおなじです","inset_classic":"うちがわのかげは {0} をつかいます"},"components":{"panel":"パネル","panelHeader":"パネルヘッダー","topBar":"トップバー","avatar":"ユーザーアバター (プロフィール)","avatarStatus":"ユーザーアバター (とうこう)","popup":"ポップアップとツールチップ","button":"ボタン","buttonHover":"ボタン (ホバー)","buttonPressed":"ボタン (おされているとき)","buttonPressedHover":"ボタン (ホバー、かつ、おされているとき)","input":"インプットフィールド"}},"fonts":{"_tab_label":"フォント","help":"「カスタム」をえらんだときは、システムにあるフォントのなまえを、ただしくにゅうりょくしてください。","components":{"interface":"インターフェース","input":"インプットフィールド","post":"とうこう","postCode":"モノスペース (とうこうがリッチテキストであるとき)"},"family":"フォントめい","size":"おおきさ (px)","weight":"ふとさ","custom":"カスタム"},"preview":{"header":"プレビュー","content":"ほんぶん","error":"エラーのれい","button":"ボタン","text":"これは{0}と{1}のれいです","mono":"monospace","input":"はねだくうこうに、つきました。","faint_link":"とてもたすけになるマニュアル","fine_print":"わたしたちの{0}を、よまないでください!","header_faint":"エラーではありません","checkbox":"りようきやくを、よみました","link":"ハイパーリンク"}},"version":{"title":"バージョン","backend_version":"バックエンドのバージョン","frontend_version":"フロントエンドのバージョン"}},"time":{"day":"{0}日","days":"{0}日","day_short":"{0}日","days_short":"{0}日","hour":"{0}時間","hours":"{0}時間","hour_short":"{0}時間","hours_short":"{0}時間","in_future":"{0}で","in_past":"{0}前","minute":"{0}分","minutes":"{0}分","minute_short":"{0}分","minutes_short":"{0}分","month":"{0}ヶ月前","months":"{0}ヶ月前","month_short":"{0}ヶ月前","months_short":"{0}ヶ月前","now":"たった今","now_short":"たった今","second":"{0}秒","seconds":"{0}秒","second_short":"{0}秒","seconds_short":"{0}秒","week":"{0}週間","weeks":"{0}週間","week_short":"{0}週間","weeks_short":"{0}週間","year":"{0}年","years":"{0}年","year_short":"{0}年","years_short":"{0}年"},"timeline":{"collapse":"たたむ","conversation":"スレッド","error_fetching":"よみこみがエラーになりました","load_older":"ふるいステータス","no_retweet_hint":"とうこうを「フォロワーのみ」または「ダイレクト」にすると、リピートできなくなります","repeated":"リピート","show_new":"よみこみ","up_to_date":"さいしん","no_more_statuses":"これでおわりです","no_statuses":"ありません"},"status":{"favorites":"おきにいり","repeats":"リピート","delete":"ステータスをけす","pin":"プロフィールにピンどめする","unpin":"プロフィールにピンどめするのをやめる","pinned":"ピンどめ","delete_confirm":"ほんとうに、このステータスを、けしてもいいですか?","reply_to":"へんしん:","replies_list":"へんしん:","mute_conversation":"スレッドをミュートする","unmute_conversation":"スレッドをミュートするのをやめる"},"user_card":{"approve":"うけいれ","block":"ブロック","blocked":"ブロックしています!","deny":"おことわり","favorites":"おきにいり","follow":"フォロー","follow_sent":"リクエストを、おくりました!","follow_progress":"リクエストしています…","follow_again":"ふたたびリクエストをおくりますか?","follow_unfollow":"フォローをやめる","followees":"フォロー","followers":"フォロワー","following":"フォローしています!","follows_you":"フォローされました!","hidden":"かくされています","its_you":"これはあなたです!","media":"メディア","mention":"メンション","mute":"ミュート","muted":"ミュートしています!","per_day":"/日","remote_follow":"リモートフォロー","report":"つうほう","statuses":"ステータス","subscribe":"サブスクライブ","unsubscribe":"サブスクライブをやめる","unblock":"ブロックをやめる","unblock_progress":"ブロックをとりけしています…","block_progress":"ブロックしています…","unmute":"ミュートをやめる","unmute_progress":"ミュートをとりけしています…","mute_progress":"ミュートしています…","hide_repeats":"リピートをかくす","show_repeats":"リピートをみる","admin_menu":{"moderation":"モデレーション","grant_admin":"アドミンにする","revoke_admin":"アドミンをやめさせる","grant_moderator":"モデレーターにする","revoke_moderator":"モデレーターをやめさせる","activate_account":"アカウントをアクティブにする","deactivate_account":"アカウントをアクティブでなくする","delete_account":"アカウントをけす","force_nsfw":"すべてのとうこうをNSFWにする","strip_media":"とうこうからメディアをなくす","force_unlisted":"とうこうをアンリステッドにする","sandbox":"とうこうをフォロワーのみにする","disable_remote_subscription":"ほかのインスタンスからフォローされないようにする","disable_any_subscription":"フォローされないようにする","quarantine":"ほかのインスタンスのユーザーのとうこうをとめる","delete_user":"ユーザーをけす","delete_user_confirmation":"あなたは、ほんとうに、きはたしかですか? これは、とりけすことが、できません。"}},"user_profile":{"timeline_title":"ユーザータイムライン","profile_does_not_exist":"ごめんなさい。このプロフィールは、そんざいしません。","profile_loading_error":"ごめんなさい。プロフィールのロードがエラーになりました。"},"user_reporting":{"title":"つうほうする: {0}","add_comment_description":"このつうほうは、あなたのインスタンスのモデレーターに、おくられます。このアカウントを、つうほうするりゆうを、せつめいすることができます:","additional_comments":"ついかのコメント","forward_description":"このアカウントは、ほかのインスタンスのものです。そのインスタンスにも、このつうほうのコピーを、おくりますか?","forward_to":"コピーをおくる: {0}","submit":"そうしん","generic_error":"あなたのリクエストをうけつけようとしましたが、エラーになってしまいました。"},"who_to_follow":{"more":"くわしく","who_to_follow":"おすすめユーザー"},"tool_tip":{"media_upload":"メディアをアップロード","repeat":"リピート","reply":"リプライ","favorite":"おきにいり","user_settings":"ユーザーせってい"},"upload":{"error":{"base":"アップロードにしっぱいしました。","file_too_big":"ファイルがおおきすぎます [{filesize} {filesizeunit} / {allowedsize} {allowedsizeunit}]","default":"しばらくしてから、ためしてください"},"file_size_units":{"B":"B","KiB":"KiB","MiB":"MiB","GiB":"GiB","TiB":"TiB"}},"search":{"people":"ひとびと","hashtags":"ハッシュタグ","person_talking":"{count} にんが、はなしています","people_talking":"{count} にんが、はなしています","no_results":"みつかりませんでした"},"password_reset":{"forgot_password":"パスワードを、わすれましたか?","password_reset":"パスワードリセット","instruction":"あなたのメールアドレスかユーザーめいをいれてください。パスワードをリセットするためのリンクをおくります。","placeholder":"あなたのメールアドレスかユーザーめい","check_email":"パスワードをリセットするためのリンクがかかれたメールが、とどいているかどうか、みてください。","return_home":"ホームページにもどる","too_many_requests":"パスワードリセットを、ためすことが、おおすぎます。しばらくしてから、ためしてください。","password_reset_disabled":"このインスタンスでは、パスワードリセットは、できません。インスタンスのアドミニストレーターに、おといあわせください。","password_reset_required":"ログインするには、パスワードをリセットしてください。","password_reset_required_but_mailer_is_disabled":"あなたはパスワードのリセットがひつようです。しかし、まずいことに、このインスタンスでは、パスワードのリセットができなくなっています。このインスタンスのアドミニストレーターに、おといあわせください。"}}')}}]); -//# sourceMappingURL=19.c031807287d659bd841d.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[19],{613:function(e){e.exports=JSON.parse('{"about":{"mrf":{"federation":"フェデレーション","mrf_policies":"ゆうこうなMRFポリシー","mrf_policies_desc":"MRFポリシーは、このインスタンスのフェデレーションのふるまいを、いじります。これらのMRFポリシーがゆうこうになっています:","simple":{"simple_policies":"インスタンスのポリシー","accept":"うけいれ","accept_desc":"このインスンスは、これらのインスタンスからのメッセージのみをうけいれます:","reject":"おことわり","reject_desc":"このインスタンスは、これらのインスタンスからのメッセージをうけいれません:","quarantine":"けんえき","quarantine_desc":"このインスタンスは、これらのインスタンスに、パブリックなとうこうのみを、おくります:","ftl_removal":"「つながっているすべてのネットワーク」タイムラインからのぞく","ftl_removal_desc":"このインスタンスは、つながっているすべてのネットワーク」タイムラインから、これらのインスタンスを、とりのぞきます:","media_removal":"メディアをのぞく","media_removal_desc":"このインスタンスは、これらのインスタンスからおくられてきたメディアを、とりのぞきます:","media_nsfw":"メディアをすべてセンシティブにする","media_nsfw_desc":"このインスタンスは、これらのインスタンスからおくられてきたメディアを、すべて、センシティブにマークします:"}},"staff":"スタッフ"},"chat":{"title":"チャット"},"exporter":{"export":"エクスポート","processing":"おまちください。しばらくすると、あなたのファイルをダウンロードするように、メッセージがでます"},"features_panel":{"chat":"チャット","gopher":"Gopher","media_proxy":"メディアプロクシ","scope_options":"こうかいはんいせんたく","text_limit":"もじのかず","title":"ゆうこうなきのう","who_to_follow":"おすすめユーザー"},"finder":{"error_fetching_user":"ユーザーけんさくがエラーになりました","find_user":"ユーザーをさがす"},"general":{"apply":"てきよう","submit":"そうしん","more":"つづき","generic_error":"エラーになりました","optional":"かかなくてもよい","show_more":"つづきをみる","show_less":"たたむ","cancel":"キャンセル","disable":"なし","enable":"あり","confirm":"たしかめる","verify":"たしかめる"},"image_cropper":{"crop_picture":"がぞうをきりぬく","save":"セーブ","save_without_cropping":"きりぬかずにセーブ","cancel":"キャンセル"},"importer":{"submit":"そうしん","success":"インポートできました。","error":"インポートがエラーになりました。"},"login":{"login":"ログイン","description":"OAuthでログイン","logout":"ログアウト","password":"パスワード","placeholder":"れい: lain","register":"はじめる","username":"ユーザーめい","hint":"はなしあいにくわわるには、ログインしてください","authentication_code":"にんしょうコード","enter_recovery_code":"リカバリーコードをいれてください","enter_two_factor_code":"2-ファクターコードをいれてください","recovery_code":"リカバリーコード","heading":{"totp":"2-ファクターにんしょう","recovery":"2-ファクターリカバリー"}},"media_modal":{"previous":"まえ","next":"つぎ"},"nav":{"about":"これはなに?","administration":"アドミニストレーション","back":"もどる","chat":"ローカルチャット","friend_requests":"フォローリクエスト","mentions":"メンション","interactions":"やりとり","dms":"ダイレクトメッセージ","public_tl":"パブリックタイムライン","timeline":"タイムライン","twkn":"つながっているすべてのネットワーク","user_search":"ユーザーをさがす","search":"さがす","who_to_follow":"おすすめユーザー","preferences":"せってい"},"notifications":{"broken_favorite":"ステータスがみつかりません。さがしています…","favorited_you":"あなたのステータスがおきにいりされました","followed_you":"フォローされました","load_older":"ふるいつうちをみる","notifications":"つうち","read":"よんだ!","repeated_you":"あなたのステータスがリピートされました","no_more_notifications":"つうちはありません"},"polls":{"add_poll":"いれふだをはじめる","add_option":"オプションをふやす","option":"オプション","votes":"いれふだ","vote":"ふだをいれる","type":"いれふだのかた","single_choice":"ひとつえらぶ","multiple_choices":"いくつでもえらべる","expiry":"いれふだのながさ","expires_in":"いれふだは {0} で、おわります","expired":"いれふだは {0} まえに、おわりました","not_enough_options":"ユニークなオプションが、たりません"},"emoji":{"stickers":"ステッカー","emoji":"えもじ","keep_open":"ピッカーをあけたままにする","search_emoji":"えもじをさがす","add_emoji":"えもじをうちこむ","custom":"カスタムえもじ","unicode":"ユニコードえもじ","load_all_hint":"はじめの {saneAmount} このえもじだけがロードされています。すべてのえもじをロードすると、パフォーマンスがわるくなるかもしれません。","load_all":"すべてのえもじをロード ({emojiAmount} こあります)"},"stickers":{"add_sticker":"ステッカーをふやす"},"interactions":{"favs_repeats":"リピートとおきにいり","follows":"あたらしいフォロー","load_older":"ふるいやりとりをみる"},"post_status":{"new_status":"とうこうする","account_not_locked_warning":"あなたのアカウントは {0} ではありません。あなたをフォローすれば、だれでも、フォロワーげんていのステータスをよむことができます。","account_not_locked_warning_link":"ロックされたアカウント","attachments_sensitive":"ファイルをNSFWにする","content_type":{"text/plain":"プレーンテキスト","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},"content_warning":"せつめい (かかなくてもよい)","default":"はねだくうこうに、つきました。","direct_warning_to_all":"このとうこうは、メンションされたすべてのユーザーが、みることができます。","direct_warning_to_first_only":"このとうこうは、メッセージのはじめでメンションされたユーザーだけが、みることができます。","direct_warning":"このステータスは、メンションされたユーザーだけが、よむことができます。","posting":"とうこう","scope_notice":{"public":"このとうこうは、だれでもみることができます","private":"このとうこうは、あなたのフォロワーだけが、みることができます","unlisted":"このとうこうは、パブリックタイムラインと、つながっているすべてのネットワークでは、みることができません"},"scope":{"direct":"ダイレクト: メンションされたユーザーのみにとどきます","private":"フォロワーげんてい: フォロワーのみにとどきます","public":"パブリック: パブリックタイムラインにとどきます","unlisted":"アンリステッド: パブリックタイムラインにとどきません"}},"registration":{"bio":"プロフィール","email":"Eメール","fullname":"スクリーンネーム","password_confirm":"パスワードのかくにん","registration":"はじめる","token":"しょうたいトークン","captcha":"CAPTCHA","new_captcha":"もじがよめないときは、がぞうをクリックすると、あたらしいがぞうになります","username_placeholder":"れい: lain","fullname_placeholder":"れい: いわくら れいん","bio_placeholder":"れい:\\nごきげんよう。わたしはれいん。\\nわたしはアニメのおんなのこで、にほんのベッドタウンにすんでいます。ワイヤードで、わたしにあったことが、あるかもしれませんね。","validations":{"username_required":"なにかかいてください","fullname_required":"なにかかいてください","email_required":"なにかかいてください","password_required":"なにかかいてください","password_confirmation_required":"なにかかいてください","password_confirmation_match":"パスワードがちがいます"}},"remote_user_resolver":{"remote_user_resolver":"リモートユーザーリゾルバー","searching_for":"さがしています:","error":"みつかりませんでした。"},"selectable_list":{"select_all":"すべてえらぶ"},"settings":{"app_name":"アプリのなまえ","security":"セキュリティ","enter_current_password_to_confirm":"あなたのアイデンティティをたしかめるため、あなたのいまのパスワードをかいてください","mfa":{"otp":"OTP","setup_otp":"OTPをつくる","wait_pre_setup_otp":"OTPをよういしています","confirm_and_enable":"OTPをたしかめて、ゆうこうにする","title":"2-ファクターにんしょう","generate_new_recovery_codes":"あたらしいリカバリーコードをつくる","warning_of_generate_new_codes":"あたらしいリカバリーコードをつくったら、ふるいコードはつかえなくなります。","recovery_codes":"リカバリーコード。","waiting_a_recovery_codes":"バックアップコードをうけとっています…","recovery_codes_warning":"コードをかきうつすか、ひとにみられないところにセーブしてください。そうでなければ、あなたはこのコードをふたたびみることはできません。もしあなたが、2FAアプリのアクセスをうしなって、なおかつ、リカバリーコードもおもいだせないならば、あなたはあなたのアカウントから、しめだされます。","authentication_methods":"にんしょうメソッド","scan":{"title":"スキャン","desc":"あなたの2-ファクターアプリをつかって、このQRコードをスキャンするか、テキストキーをうちこんでください:","secret_code":"キー"},"verify":{"desc":"2-ファクターにんしょうをつかうには、あなたの2-ファクターアプリのコードをいれてください:"}},"attachmentRadius":"ファイル","attachments":"ファイル","avatar":"アバター","avatarAltRadius":"つうちのアバター","avatarRadius":"アバター","background":"バックグラウンド","bio":"プロフィール","block_export":"ブロックのエクスポート","block_export_button":"ブロックをCSVファイルにエクスポート","block_import":"ブロックのインポート","block_import_error":"ブロックのインポートがエラーになりました","blocks_imported":"ブロックをインポートしました! じっさいにブロックするまでには、もうしばらくかかります。","blocks_tab":"ブロック","btnRadius":"ボタン","cBlue":"リプライとフォロー","cGreen":"リピート","cOrange":"おきにいり","cRed":"キャンセル","change_email":"メールアドレスをかえる","change_email_error":"メールアドレスをかえようとしましたが、なにかがおかしいです。","changed_email":"メールアドレスをかえることができました!","change_password":"パスワードをかえる","change_password_error":"パスワードをかえることが、できなかったかもしれません。","changed_password":"パスワードが、かわりました!","collapse_subject":"せつめいのあるとうこうをたたむ","composing":"とうこう","confirm_new_password":"あたらしいパスワードのかくにん","current_avatar":"いまのアバター","current_password":"いまのパスワード","current_profile_banner":"いまのプロフィールバナー","data_import_export_tab":"インポートとエクスポート","default_vis":"デフォルトのこうかいはんい","delete_account":"アカウントをけす","delete_account_description":"あなたのアカウントとメッセージが、きえます。","delete_account_error":"アカウントをけすことが、できなかったかもしれません。インスタンスのアドミニストレーターに、おといあわせください。","delete_account_instructions":"ほんとうにアカウントをけしてもいいなら、パスワードをかいてください。","discoverable":"けんさくなどのサービスで、このアカウントをみつけてもよい","avatar_size_instruction":"アバターのおおきさは、150×150ピクセルか、それよりもおおきくするといいです。","pad_emoji":"えもじをピッカーでえらんだとき、えもじのまわりにスペースをいれる","export_theme":"セーブ","filtering":"フィルタリング","filtering_explanation":"これらのことばをふくむすべてのものがミュートされます。1ぎょうに1つのことばをかいてください","follow_export":"フォローのエクスポート","follow_export_button":"エクスポート","follow_export_processing":"おまちください。まもなくファイルをダウンロードできます。","follow_import":"フォローインポート","follow_import_error":"フォローのインポートがエラーになりました","follows_imported":"フォローがインポートされました! すこしじかんがかかるかもしれません。","foreground":"フォアグラウンド","general":"ぜんぱん","hide_attachments_in_convo":"スレッドのファイルをかくす","hide_attachments_in_tl":"タイムラインのファイルをかくす","hide_muted_posts":"ミュートしたユーザーのとうこうをかくす","max_thumbnails":"ひとつのとうこうにいれられるサムネイルのかず","hide_isp":"インスタンススペシフィックパネルをかくす","preload_images":"がぞうをさきよみする","use_one_click_nsfw":"NSFWなファイルを1クリックでひらく","hide_post_stats":"とうこうのとうけいをかくす (れい: おきにいりのかず)","hide_user_stats":"ユーザーのとうけいをかくす (れい: フォロワーのかず)","hide_filtered_statuses":"フィルターされたとうこうをかくす","import_blocks_from_a_csv_file":"CSVファイルからブロックをインポートする","import_followers_from_a_csv_file":"CSVファイルからフォローをインポートする","import_theme":"ロード","inputRadius":"インプットフィールド","checkboxRadius":"チェックボックス","instance_default":"(デフォルト: {value})","instance_default_simple":"(デフォルト)","interface":"インターフェース","interfaceLanguage":"インターフェースのことば","invalid_theme_imported":"このファイルはPleromaのテーマではありません。テーマはへんこうされませんでした。","limited_availability":"あなたのブラウザではできません","links":"リンク","lock_account_description":"あなたがみとめたひとだけ、あなたのアカウントをフォローできる","loop_video":"ビデオをくりかえす","loop_video_silent_only":"おとのないビデオだけくりかえす","mutes_tab":"ミュート","play_videos_in_modal":"ビデオをメディアビューアーでみる","use_contain_fit":"がぞうのサムネイルを、きりぬかない","name":"なまえ","name_bio":"なまえとプロフィール","new_email":"あたらしいメールアドレス","new_password":"あたらしいパスワード","notification_visibility":"ひょうじするつうち","notification_visibility_follows":"フォロー","notification_visibility_likes":"おきにいり","notification_visibility_mentions":"メンション","notification_visibility_repeats":"リピート","no_rich_text_description":"リッチテキストをつかわない","no_blocks":"ブロックしていません","no_mutes":"ミュートしていません","hide_follows_description":"フォローしているひとをみせない","hide_followers_description":"フォロワーをみせない","hide_follows_count_description":"フォローしているひとのかずをみせない","hide_followers_count_description":"フォロワーのかずをみせない","show_admin_badge":"アドミンのしるしをみせる","show_moderator_badge":"モデレーターのしるしをみせる","nsfw_clickthrough":"NSFWなファイルをかくす","oauth_tokens":"OAuthトークン","token":"トークン","refresh_token":"トークンをリフレッシュ","valid_until":"おわりのとき","revoke_token":"とりけす","panelRadius":"パネル","pause_on_unfocused":"タブにフォーカスがないときストリーミングをとめる","presets":"プリセット","profile_background":"プロフィールのバックグラウンド","profile_banner":"プロフィールバナー","profile_tab":"プロフィール","radii_help":"インターフェースのまるさをせっていする","replies_in_timeline":"タイムラインのリプライ","reply_visibility_all":"すべてのリプライをみる","reply_visibility_following":"わたしにあてられたリプライと、フォローしているひとからのリプライをみる","reply_visibility_self":"わたしにあてられたリプライをみる","autohide_floating_post_button":"あたらしいとうこうのボタンを、じどうてきにかくす (モバイル)","saving_err":"せっていをセーブできませんでした","saving_ok":"せっていをセーブしました","search_user_to_block":"ブロックしたいひとを、ここでけんさくできます","search_user_to_mute":"ミュートしたいひとを、ここでけんさくできます","security_tab":"セキュリティ","scope_copy":"リプライするとき、こうかいはんいをコピーする (DMのこうかいはんいは、つねにコピーされます)","minimal_scopes_mode":"こうかいはんいせんたくオプションを、ちいさくする","set_new_avatar":"あたらしいアバターをせっていする","set_new_profile_background":"あたらしいプロフィールのバックグラウンドをせっていする","set_new_profile_banner":"あたらしいプロフィールバナーを設定する","settings":"せってい","subject_input_always_show":"サブジェクトフィールドをいつでもひょうじする","subject_line_behavior":"リプライするときサブジェクトをコピーする","subject_line_email":"メールふう: \\"re: サブジェクト\\"","subject_line_mastodon":"マストドンふう: そのままコピー","subject_line_noop":"コピーしない","post_status_content_type":"とうこうのコンテントタイプ","stop_gifs":"カーソルをかさねたとき、GIFをうごかす","streaming":"うえまでスクロールしたとき、じどうてきにストリーミングする","text":"もじ","theme":"テーマ","theme_help":"カラーテーマをカスタマイズできます。","theme_help_v2_1":"チェックボックスをONにすると、コンポーネントごとに、いろと、とうめいどを、オーバーライドできます。「すべてクリア」ボタンをおすと、すべてのオーバーライドを、やめます。","theme_help_v2_2":"バックグラウンドとテキストのコントラストをあらわすアイコンがあります。マウスをホバーすると、くわしいせつめいがでます。とうめいないろをつかっているときは、もっともわるいばあいのコントラストがしめされます。","upload_a_photo":"がぞうをアップロード","tooltipRadius":"ツールチップとアラート","user_settings":"ユーザーせってい","values":{"false":"いいえ","true":"はい"},"fun":"おたのしみ","greentext":"ミームやじるし","notifications":"つうち","notification_mutes":"あるユーザーからのつうちをとめるには、ミュートしてください。","notification_blocks":"ブロックしているユーザーからのつうちは、すべてとまります。","enable_web_push_notifications":"ウェブプッシュつうちをゆるす","style":{"switcher":{"keep_color":"いろをのこす","keep_shadows":"かげをのこす","keep_opacity":"とうめいどをのこす","keep_roundness":"まるさをのこす","keep_fonts":"フォントをのこす","save_load_hint":"「のこす」オプションをONにすると、テーマをえらんだときとロードしたとき、いまのせっていをのこします。また、テーマをエクスポートするとき、これらのオプションをストアします。すべてのチェックボックスをOFFにすると、テーマをエクスポートしたとき、すべてのせっていをセーブします。","reset":"リセット","clear_all":"すべてクリア","clear_opacity":"とうめいどをクリア"},"common":{"color":"いろ","opacity":"とうめいど","contrast":{"hint":"コントラストは {ratio} です。{level}。({context})","level":{"aa":"AAレベルガイドライン (ミニマル) をみたします","aaa":"AAAレベルガイドライン (レコメンデッド) をみたします","bad":"ガイドラインをみたしません"},"context":{"18pt":"おおきい (18ポイントいじょう) テキスト","text":"テキスト"}}},"common_colors":{"_tab_label":"きょうつう","main":"きょうつうのいろ","foreground_hint":"「くわしく」タブで、もっとこまかくせっていできます","rgbo":"アイコンとアクセントとバッジ"},"advanced_colors":{"_tab_label":"くわしく","alert":"アラートのバックグラウンド","alert_error":"エラー","alert_warning":"けいこく","badge":"バッジのバックグラウンド","badge_notification":"つうち","panel_header":"パネルヘッダー","top_bar":"トップバー","borders":"さかいめ","buttons":"ボタン","inputs":"インプットフィールド","faint_text":"うすいテキスト"},"radii":{"_tab_label":"まるさ"},"shadows":{"_tab_label":"ひかりとかげ","component":"コンポーネント","override":"オーバーライド","shadow_id":"かげ #{value}","blur":"ぼかし","spread":"ひろがり","inset":"うちがわ","hint":"かげのせっていでは、いろのあたいとして --variable をつかうことができます。これはCSS3へんすうです。ただし、とうめいどのせっていは、きかなくなります。","filter_hint":{"always_drop_shadow":"ブラウザーがサポートしていれば、つねに {0} がつかわれます。","drop_shadow_syntax":"{0} は、{1} パラメーターと {2} キーワードをサポートしていません。","avatar_inset":"うちがわのかげと、そとがわのかげを、いっしょにつかうと、とうめいなアバターが、へんなみためになります。","spread_zero":"ひろがりが 0 よりもおおきなかげは、0 とおなじです","inset_classic":"うちがわのかげは {0} をつかいます"},"components":{"panel":"パネル","panelHeader":"パネルヘッダー","topBar":"トップバー","avatar":"ユーザーアバター (プロフィール)","avatarStatus":"ユーザーアバター (とうこう)","popup":"ポップアップとツールチップ","button":"ボタン","buttonHover":"ボタン (ホバー)","buttonPressed":"ボタン (おされているとき)","buttonPressedHover":"ボタン (ホバー、かつ、おされているとき)","input":"インプットフィールド"}},"fonts":{"_tab_label":"フォント","help":"「カスタム」をえらんだときは、システムにあるフォントのなまえを、ただしくにゅうりょくしてください。","components":{"interface":"インターフェース","input":"インプットフィールド","post":"とうこう","postCode":"モノスペース (とうこうがリッチテキストであるとき)"},"family":"フォントめい","size":"おおきさ (px)","weight":"ふとさ","custom":"カスタム"},"preview":{"header":"プレビュー","content":"ほんぶん","error":"エラーのれい","button":"ボタン","text":"これは{0}と{1}のれいです","mono":"monospace","input":"はねだくうこうに、つきました。","faint_link":"とてもたすけになるマニュアル","fine_print":"わたしたちの{0}を、よまないでください!","header_faint":"エラーではありません","checkbox":"りようきやくを、よみました","link":"ハイパーリンク"}},"version":{"title":"バージョン","backend_version":"バックエンドのバージョン","frontend_version":"フロントエンドのバージョン"}},"time":{"day":"{0}日","days":"{0}日","day_short":"{0}日","days_short":"{0}日","hour":"{0}時間","hours":"{0}時間","hour_short":"{0}時間","hours_short":"{0}時間","in_future":"{0}で","in_past":"{0}前","minute":"{0}分","minutes":"{0}分","minute_short":"{0}分","minutes_short":"{0}分","month":"{0}ヶ月前","months":"{0}ヶ月前","month_short":"{0}ヶ月前","months_short":"{0}ヶ月前","now":"たった今","now_short":"たった今","second":"{0}秒","seconds":"{0}秒","second_short":"{0}秒","seconds_short":"{0}秒","week":"{0}週間","weeks":"{0}週間","week_short":"{0}週間","weeks_short":"{0}週間","year":"{0}年","years":"{0}年","year_short":"{0}年","years_short":"{0}年"},"timeline":{"collapse":"たたむ","conversation":"スレッド","error_fetching":"よみこみがエラーになりました","load_older":"ふるいステータス","no_retweet_hint":"とうこうを「フォロワーのみ」または「ダイレクト」にすると、リピートできなくなります","repeated":"リピート","show_new":"よみこみ","up_to_date":"さいしん","no_more_statuses":"これでおわりです","no_statuses":"ありません"},"status":{"favorites":"おきにいり","repeats":"リピート","delete":"ステータスをけす","pin":"プロフィールにピンどめする","unpin":"プロフィールにピンどめするのをやめる","pinned":"ピンどめ","delete_confirm":"ほんとうに、このステータスを、けしてもいいですか?","reply_to":"へんしん:","replies_list":"へんしん:","mute_conversation":"スレッドをミュートする","unmute_conversation":"スレッドをミュートするのをやめる"},"user_card":{"approve":"うけいれ","block":"ブロック","blocked":"ブロックしています!","deny":"おことわり","favorites":"おきにいり","follow":"フォロー","follow_sent":"リクエストを、おくりました!","follow_progress":"リクエストしています…","follow_unfollow":"フォローをやめる","followees":"フォロー","followers":"フォロワー","following":"フォローしています!","follows_you":"フォローされました!","hidden":"かくされています","its_you":"これはあなたです!","media":"メディア","mention":"メンション","mute":"ミュート","muted":"ミュートしています!","per_day":"/日","remote_follow":"リモートフォロー","report":"つうほう","statuses":"ステータス","subscribe":"サブスクライブ","unsubscribe":"サブスクライブをやめる","unblock":"ブロックをやめる","unblock_progress":"ブロックをとりけしています…","block_progress":"ブロックしています…","unmute":"ミュートをやめる","unmute_progress":"ミュートをとりけしています…","mute_progress":"ミュートしています…","hide_repeats":"リピートをかくす","show_repeats":"リピートをみる","admin_menu":{"moderation":"モデレーション","grant_admin":"アドミンにする","revoke_admin":"アドミンをやめさせる","grant_moderator":"モデレーターにする","revoke_moderator":"モデレーターをやめさせる","activate_account":"アカウントをアクティブにする","deactivate_account":"アカウントをアクティブでなくする","delete_account":"アカウントをけす","force_nsfw":"すべてのとうこうをNSFWにする","strip_media":"とうこうからメディアをなくす","force_unlisted":"とうこうをアンリステッドにする","sandbox":"とうこうをフォロワーのみにする","disable_remote_subscription":"ほかのインスタンスからフォローされないようにする","disable_any_subscription":"フォローされないようにする","quarantine":"ほかのインスタンスのユーザーのとうこうをとめる","delete_user":"ユーザーをけす","delete_user_confirmation":"あなたは、ほんとうに、きはたしかですか? これは、とりけすことが、できません。"}},"user_profile":{"timeline_title":"ユーザータイムライン","profile_does_not_exist":"ごめんなさい。このプロフィールは、そんざいしません。","profile_loading_error":"ごめんなさい。プロフィールのロードがエラーになりました。"},"user_reporting":{"title":"つうほうする: {0}","add_comment_description":"このつうほうは、あなたのインスタンスのモデレーターに、おくられます。このアカウントを、つうほうするりゆうを、せつめいすることができます:","additional_comments":"ついかのコメント","forward_description":"このアカウントは、ほかのインスタンスのものです。そのインスタンスにも、このつうほうのコピーを、おくりますか?","forward_to":"コピーをおくる: {0}","submit":"そうしん","generic_error":"あなたのリクエストをうけつけようとしましたが、エラーになってしまいました。"},"who_to_follow":{"more":"くわしく","who_to_follow":"おすすめユーザー"},"tool_tip":{"media_upload":"メディアをアップロード","repeat":"リピート","reply":"リプライ","favorite":"おきにいり","user_settings":"ユーザーせってい"},"upload":{"error":{"base":"アップロードにしっぱいしました。","file_too_big":"ファイルがおおきすぎます [{filesize} {filesizeunit} / {allowedsize} {allowedsizeunit}]","default":"しばらくしてから、ためしてください"},"file_size_units":{"B":"B","KiB":"KiB","MiB":"MiB","GiB":"GiB","TiB":"TiB"}},"search":{"people":"ひとびと","hashtags":"ハッシュタグ","person_talking":"{count} にんが、はなしています","people_talking":"{count} にんが、はなしています","no_results":"みつかりませんでした"},"password_reset":{"forgot_password":"パスワードを、わすれましたか?","password_reset":"パスワードリセット","instruction":"あなたのメールアドレスかユーザーめいをいれてください。パスワードをリセットするためのリンクをおくります。","placeholder":"あなたのメールアドレスかユーザーめい","check_email":"パスワードをリセットするためのリンクがかかれたメールが、とどいているかどうか、みてください。","return_home":"ホームページにもどる","too_many_requests":"パスワードリセットを、ためすことが、おおすぎます。しばらくしてから、ためしてください。","password_reset_disabled":"このインスタンスでは、パスワードリセットは、できません。インスタンスのアドミニストレーターに、おといあわせください。","password_reset_required":"ログインするには、パスワードをリセットしてください。","password_reset_required_but_mailer_is_disabled":"あなたはパスワードのリセットがひつようです。しかし、まずいことに、このインスタンスでは、パスワードのリセットができなくなっています。このインスタンスのアドミニストレーターに、おといあわせください。"}}')}}]); +//# sourceMappingURL=19.e513835c3274271258fa.js.map \ No newline at end of file diff --git a/priv/static/static/js/19.e513835c3274271258fa.js.map b/priv/static/static/js/19.e513835c3274271258fa.js.map new file mode 100644 index 000000000..d92c8eeac --- /dev/null +++ b/priv/static/static/js/19.e513835c3274271258fa.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/19.e513835c3274271258fa.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/2.5f3ceb7bdf08fadacf00.js b/priv/static/static/js/2.5f3ceb7bdf08fadacf00.js deleted file mode 100644 index 31ef2f0ac..000000000 --- a/priv/static/static/js/2.5f3ceb7bdf08fadacf00.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{616:function(t,e,s){var n=s(617);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(7).default)("a45e17ec",n,!0,{})},617:function(t,e,s){(t.exports=s(6)(!1)).push([t.i,".settings_tab-switcher{height:100%}.settings_tab-switcher .setting-item{border-bottom:2px solid var(--fg,#182230);margin:1em 1em 1.4em;padding-bottom:1.4em}.settings_tab-switcher .setting-item>div,.settings_tab-switcher .setting-item>label{display:block;margin-bottom:.5em}.settings_tab-switcher .setting-item>div:last-child,.settings_tab-switcher .setting-item>label:last-child{margin-bottom:0}.settings_tab-switcher .setting-item .select-multiple{display:-ms-flexbox;display:flex}.settings_tab-switcher .setting-item .select-multiple .option-list{margin:0;padding-left:.5em}.settings_tab-switcher .setting-item:last-child{border-bottom:none;padding-bottom:0;margin-bottom:1em}.settings_tab-switcher .setting-item select{min-width:10em}.settings_tab-switcher .setting-item textarea{width:100%;max-width:100%;height:100px}.settings_tab-switcher .setting-item .unavailable,.settings_tab-switcher .setting-item .unavailable svg{color:var(--cRed,red);color:red}.settings_tab-switcher .setting-item .number-input{max-width:6em}",""])},618:function(t,e,s){var n=s(619);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(7).default)("5bed876c",n,!0,{})},619:function(t,e,s){(t.exports=s(6)(!1)).push([t.i,".importer-uploading{font-size:1.5em;margin:.25em}",""])},620:function(t,e,s){var n=s(621);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(7).default)("432fc7c6",n,!0,{})},621:function(t,e,s){(t.exports=s(6)(!1)).push([t.i,".exporter-processing{margin:.25em}",""])},622:function(t,e,s){var n=s(623);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(7).default)("33ca0d90",n,!0,{})},623:function(t,e,s){(t.exports=s(6)(!1)).push([t.i,".mutes-and-blocks-tab{height:100%}.mutes-and-blocks-tab .usersearch-wrapper{padding:1em}.mutes-and-blocks-tab .bulk-actions{text-align:right;padding:0 1em;min-height:28px}.mutes-and-blocks-tab .bulk-action-button{width:10em}.mutes-and-blocks-tab .domain-mute-form{padding:1em;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.mutes-and-blocks-tab .domain-mute-button{-ms-flex-item-align:end;align-self:flex-end;margin-top:1em;width:10em}",""])},624:function(t,e,s){var n=s(625);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(7).default)("3a9ec1bf",n,!0,{})},625:function(t,e,s){(t.exports=s(6)(!1)).push([t.i,".autosuggest{position:relative}.autosuggest-input{display:block;width:100%}.autosuggest-results{position:absolute;left:0;top:100%;right:0;max-height:400px;background-color:#121a24;background-color:var(--bg,#121a24);border-color:#222;border:1px solid var(--border,#222);border-radius:4px;border-radius:var(--inputRadius,4px);border-top-left-radius:0;border-top-right-radius:0;box-shadow:1px 1px 4px rgba(0,0,0,.6);box-shadow:var(--panelShadow);overflow-y:auto;z-index:1}",""])},626:function(t,e,s){var n=s(627);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(7).default)("211aa67c",n,!0,{})},627:function(t,e,s){(t.exports=s(6)(!1)).push([t.i,".block-card-content-container{margin-top:.5em;text-align:right}.block-card-content-container button{width:10em}",""])},628:function(t,e,s){var n=s(629);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(7).default)("7ea980e0",n,!0,{})},629:function(t,e,s){(t.exports=s(6)(!1)).push([t.i,".mute-card-content-container{margin-top:.5em;text-align:right}.mute-card-content-container button{width:10em}",""])},630:function(t,e,s){var n=s(631);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(7).default)("39a942c3",n,!0,{})},631:function(t,e,s){(t.exports=s(6)(!1)).push([t.i,".domain-mute-card{-ms-flex:1 0;flex:1 0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;padding:.6em 1em .6em 0}.domain-mute-card-domain{margin-right:1em;overflow:hidden;text-overflow:ellipsis}.domain-mute-card button{width:10em}.autosuggest-results .domain-mute-card{padding-left:1em}",""])},632:function(t,e,s){var n=s(633);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(7).default)("3724291e",n,!0,{})},633:function(t,e,s){(t.exports=s(6)(!1)).push([t.i,".selectable-list-item-inner{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.selectable-list-item-inner>*{min-width:0}.selectable-list-item-selected-inner{background-color:#151e2a;background-color:var(--selectedMenu,#151e2a);color:var(--selectedMenuText,#b9b9ba);--faint:var(--selectedMenuFaintText,$fallback--faint);--faintLink:var(--selectedMenuFaintLink,$fallback--faint);--lightText:var(--selectedMenuLightText,$fallback--lightText);--icon:var(--selectedMenuIcon,$fallback--icon)}.selectable-list-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.6em 0;border-bottom:2px solid;border-bottom-color:#222;border-bottom-color:var(--border,#222)}.selectable-list-header-actions{-ms-flex:1;flex:1}.selectable-list-checkbox-wrapper{padding:0 10px;-ms-flex:none;flex:none}",""])},634:function(t,e,s){},638:function(t,e,s){var n=s(639);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(7).default)("1fa434a2",n,!0,{})},639:function(t,e,s){(t.exports=s(6)(!1)).push([t.i,".ModifiedIndicator{display:inline-block;position:relative}.ModifiedIndicator .modified-tooltip{margin:.5em 1em;min-width:10em;text-align:center}",""])},640:function(t,e,s){var n=s(641);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(7).default)("9374f1e2",n,!0,{})},641:function(t,e,s){(t.exports=s(6)(!1)).push([t.i,"",""])},642:function(t,e,s){var n=s(643);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(7).default)("a588473e",n,!0,{})},643:function(t,e,s){(t.exports=s(6)(!1)).push([t.i,".mfa-settings .method-item,.mfa-settings .mfa-heading{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:baseline;align-items:baseline}.mfa-settings .warning{color:orange;color:var(--cOrange,orange)}.mfa-settings .setup-otp{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.mfa-settings .setup-otp .qr-code{-ms-flex:1;flex:1;padding-right:10px}.mfa-settings .setup-otp .verify{-ms-flex:1;flex:1}.mfa-settings .setup-otp .error{margin:4px 0 0}.mfa-settings .setup-otp .confirm-otp-actions button{width:15em;margin-top:5px}",""])},644:function(t,e,s){var n=s(645);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(7).default)("4065bf15",n,!0,{})},645:function(t,e,s){(t.exports=s(6)(!1)).push([t.i,".mfa-backup-codes .warning{color:orange;color:var(--cOrange,orange)}.mfa-backup-codes .backup-codes{font-family:var(--postCodeFont,monospace)}",""])},647:function(t,e,s){var n=s(648);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(7).default)("27925ae8",n,!0,{})},648:function(t,e,s){(t.exports=s(6)(!1)).push([t.i,".profile-tab .bio{margin:0}.profile-tab .visibility-tray{padding-top:5px}.profile-tab input[type=file]{padding:5px;height:auto}.profile-tab .banner-background-preview{max-width:100%;width:300px;position:relative}.profile-tab .banner-background-preview img{width:100%}.profile-tab .uploading{font-size:1.5em;margin:.25em}.profile-tab .name-changer{width:100%}.profile-tab .current-avatar-container{position:relative;width:150px;height:150px}.profile-tab .current-avatar{display:block;width:100%;height:100%;border-radius:4px;border-radius:var(--avatarRadius,4px)}.profile-tab .reset-button{position:absolute;top:.2em;right:.2em;border-radius:5px;border-radius:var(--tooltipRadius,5px);background-color:rgba(0,0,0,.6);opacity:.7;color:#fff;width:1.5em;height:1.5em;text-align:center;line-height:1.5em;font-size:1.5em;cursor:pointer}.profile-tab .reset-button:hover{opacity:1}.profile-tab .oauth-tokens{width:100%}.profile-tab .oauth-tokens th{text-align:left}.profile-tab .oauth-tokens .actions{text-align:right}.profile-tab-usersearch-wrapper{padding:1em}.profile-tab-bulk-actions{text-align:right;padding:0 1em;min-height:28px}.profile-tab-bulk-actions button{width:10em}.profile-tab-domain-mute-form{padding:1em;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.profile-tab-domain-mute-form button{-ms-flex-item-align:end;align-self:flex-end;margin-top:1em;width:10em}.profile-tab .setting-subitem{margin-left:1.75em}.profile-tab .profile-fields{display:-ms-flexbox;display:flex}.profile-tab .profile-fields>.emoji-input{-ms-flex:1 1 auto;flex:1 1 auto;margin:0 .2em .5em;min-width:0}.profile-tab .profile-fields .delete-field{width:20px;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;margin:0 .2em .5em;padding:0 .5em}",""])},649:function(t,e,s){var n=s(650);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(7).default)("0dfd0b33",n,!0,{})},650:function(t,e,s){(t.exports=s(6)(!1)).push([t.i,".image-cropper-img-input{display:none}.image-cropper-image-container{position:relative}.image-cropper-image-container img{display:block;max-width:100%}.image-cropper-buttons-wrapper{margin-top:10px}.image-cropper-buttons-wrapper button{margin-top:5px}",""])},653:function(t,e,s){var n=s(654);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(7).default)("4fafab12",n,!0,{})},654:function(t,e,s){(t.exports=s(6)(!1)).push([t.i,".theme-tab{padding-bottom:2em}.theme-tab .theme-warning{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline;margin-bottom:.5em}.theme-tab .theme-warning .buttons .btn{margin-bottom:.5em}.theme-tab .preset-switcher{margin-right:1em}.theme-tab .style-control{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline;margin-bottom:5px}.theme-tab .style-control .label{-ms-flex:1;flex:1}.theme-tab .style-control.disabled input,.theme-tab .style-control.disabled select{opacity:.5}.theme-tab .style-control .opt{margin:.5em}.theme-tab .style-control .color-input{-ms-flex:0 0 0px;flex:0 0 0}.theme-tab .style-control input,.theme-tab .style-control select{min-width:3em;margin:0;-ms-flex:0;flex:0}.theme-tab .style-control input[type=number],.theme-tab .style-control select[type=number]{min-width:5em}.theme-tab .style-control input[type=range],.theme-tab .style-control select[type=range]{-ms-flex:1;flex:1;min-width:3em;-ms-flex-item-align:start;align-self:flex-start}.theme-tab .reset-container{-ms-flex-wrap:wrap;flex-wrap:wrap}.theme-tab .apply-container,.theme-tab .color-container,.theme-tab .fonts-container,.theme-tab .radius-container,.theme-tab .reset-container{display:-ms-flexbox;display:flex}.theme-tab .fonts-container,.theme-tab .radius-container{-ms-flex-direction:column;flex-direction:column}.theme-tab .color-container{-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between}.theme-tab .color-container>h4{width:99%}.theme-tab .color-container,.theme-tab .fonts-container,.theme-tab .presets-container,.theme-tab .radius-container,.theme-tab .shadow-container{margin:1em 1em 0}.theme-tab .tab-header{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:baseline;align-items:baseline;width:100%;min-height:30px;margin-bottom:1em}.theme-tab .tab-header p{-ms-flex:1;flex:1;margin:0;margin-right:.5em}.theme-tab .tab-header-buttons{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.theme-tab .tab-header-buttons .btn{min-width:1px;-ms-flex:0 auto;flex:0 auto;padding:0 1em;margin-bottom:.5em}.theme-tab .shadow-selector .override{-ms-flex:1;flex:1;margin-left:.5em}.theme-tab .shadow-selector .select-container{margin-top:-4px;margin-bottom:-3px}.theme-tab .save-load,.theme-tab .save-load-options{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:baseline;align-items:baseline;-ms-flex-wrap:wrap;flex-wrap:wrap}.theme-tab .save-load-options .import-export,.theme-tab .save-load-options .presets,.theme-tab .save-load .import-export,.theme-tab .save-load .presets{margin-bottom:.5em}.theme-tab .save-load-options .import-export,.theme-tab .save-load .import-export{display:-ms-flexbox;display:flex}.theme-tab .save-load-options .override,.theme-tab .save-load .override{margin-left:.5em}.theme-tab .save-load-options{-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:.5em;-ms-flex-pack:center;justify-content:center}.theme-tab .save-load-options .keep-option{margin:0 .5em .5em;min-width:25%}.theme-tab .preview-container{border-top:1px dashed;border-bottom:1px dashed;border-color:#222;border-color:var(--border,#222);margin:1em 0;padding:1em;background-color:var(--wallpaper);background-image:var(--body-background-image);background-size:cover;background-position:50% 50%}.theme-tab .preview-container .dummy .post{font-family:var(--postFont);display:-ms-flexbox;display:flex}.theme-tab .preview-container .dummy .post .content{-ms-flex:1;flex:1}.theme-tab .preview-container .dummy .post .content h4{margin-bottom:.25em}.theme-tab .preview-container .dummy .post .content .icons{margin-top:.5em;display:-ms-flexbox;display:flex}.theme-tab .preview-container .dummy .post .content .icons i{margin-right:1em}.theme-tab .preview-container .dummy .after-post{margin-top:1em;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.theme-tab .preview-container .dummy .avatar,.theme-tab .preview-container .dummy .avatar-alt{background:linear-gradient(135deg,#b8e1fc,#a9d2f3 10%,#90bae4 25%,#90bcea 37%,#90bff0 50%,#6ba8e5 51%,#a2daf5 83%,#bdf3fd);color:#000;font-family:sans-serif;text-align:center;margin-right:1em}.theme-tab .preview-container .dummy .avatar-alt{-ms-flex:0 auto;flex:0 auto;margin-left:28px;font-size:12px;min-width:20px;min-height:20px;line-height:20px;border-radius:10px;border-radius:var(--avatarAltRadius,10px)}.theme-tab .preview-container .dummy .avatar{-ms-flex:0 auto;flex:0 auto;width:48px;height:48px;font-size:14px;line-height:48px}.theme-tab .preview-container .dummy .actions{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline}.theme-tab .preview-container .dummy .actions .checkbox{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:baseline;align-items:baseline;margin-right:1em;-ms-flex:1;flex:1}.theme-tab .preview-container .dummy .separator{margin:1em;border-bottom:1px solid;border-color:#222;border-color:var(--border,#222)}.theme-tab .preview-container .dummy .panel-heading .alert,.theme-tab .preview-container .dummy .panel-heading .badge,.theme-tab .preview-container .dummy .panel-heading .btn,.theme-tab .preview-container .dummy .panel-heading .faint{margin-left:1em;white-space:nowrap}.theme-tab .preview-container .dummy .panel-heading .faint{text-overflow:ellipsis;min-width:2em;overflow-x:hidden}.theme-tab .preview-container .dummy .panel-heading .flex-spacer{-ms-flex:1;flex:1}.theme-tab .preview-container .dummy .btn{margin-left:0;padding:0 1em;min-width:3em;min-height:30px}.theme-tab .apply-container{-ms-flex-pack:center;justify-content:center}.theme-tab .color-item,.theme-tab .radius-item{min-width:20em;margin:5px 6px 0 0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex:1 1 0px;flex:1 1 0}.theme-tab .color-item.wide,.theme-tab .radius-item.wide{min-width:60%}.theme-tab .color-item:not(.wide):nth-child(odd),.theme-tab .radius-item:not(.wide):nth-child(odd){margin-right:7px}.theme-tab .color-item .color,.theme-tab .color-item .opacity,.theme-tab .radius-item .color,.theme-tab .radius-item .opacity{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline}.theme-tab .radius-item{-ms-flex-preferred-size:auto;flex-basis:auto}.theme-tab .theme-color-cl,.theme-tab .theme-radius-rn{border:0;box-shadow:none;background:transparent;color:var(--faint,hsla(240,1%,73%,.5));-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch}.theme-tab .theme-color-cl,.theme-tab .theme-color-in,.theme-tab .theme-radius-in{margin-left:4px}.theme-tab .theme-radius-in{min-width:1em;max-width:7em;-ms-flex:1;flex:1}.theme-tab .theme-radius-lb{max-width:50em}.theme-tab .theme-preview-content{padding:20px}.theme-tab .apply-container .btn{min-height:28px;min-width:10em;padding:0 2em}.theme-tab .btn{margin-left:.25em;margin-right:.25em}",""])},655:function(t,e,s){var n=s(656);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(7).default)("7e57f952",n,!0,{})},656:function(t,e,s){(t.exports=s(6)(!1)).push([t.i,'.color-input,.color-input-field.input{display:-ms-inline-flexbox;display:inline-flex}.color-input-field.input{-ms-flex:0 0 0px;flex:0 0 0;max-width:9em;-ms-flex-align:stretch;align-items:stretch;padding:.2em 8px}.color-input-field.input input{background:none;color:#b9b9ba;color:var(--inputText,#b9b9ba);border:none;padding:0;margin:0}.color-input-field.input input.textColor{-ms-flex:1 0 3em;flex:1 0 3em;min-width:3em;padding:0}.color-input-field.input .computedIndicator,.color-input-field.input .transparentIndicator,.color-input-field.input input.nativeColor{-ms-flex:0 0 2em;flex:0 0 2em;min-width:2em;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;height:100%}.color-input-field.input .transparentIndicator{background-color:#f0f;position:relative}.color-input-field.input .transparentIndicator:after,.color-input-field.input .transparentIndicator:before{display:block;content:"";background-color:#000;position:absolute;height:50%;width:50%}.color-input-field.input .transparentIndicator:after{top:0;left:0}.color-input-field.input .transparentIndicator:before{bottom:0;right:0}.color-input .label{-ms-flex:1 1 auto;flex:1 1 auto}',""])},657:function(t,e,s){var n=s(658);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(7).default)("6c632637",n,!0,{})},658:function(t,e,s){(t.exports=s(6)(!1)).push([t.i,".color-control input.text-input{max-width:7em;-ms-flex:1;flex:1}",""])},659:function(t,e,s){var n=s(660);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(7).default)("d219da80",n,!0,{})},660:function(t,e,s){(t.exports=s(6)(!1)).push([t.i,".shadow-control{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin-bottom:1em}.shadow-control .shadow-preview-container,.shadow-control .shadow-tweak{margin:5px 6px 0 0}.shadow-control .shadow-preview-container{-ms-flex:0;flex:0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.shadow-control .shadow-preview-container input[type=number]{width:5em;min-width:2em}.shadow-control .shadow-preview-container .x-shift-control,.shadow-control .shadow-preview-container .y-shift-control{display:-ms-flexbox;display:flex;-ms-flex:0;flex:0}.shadow-control .shadow-preview-container .x-shift-control[disabled=disabled] *,.shadow-control .shadow-preview-container .y-shift-control[disabled=disabled] *{opacity:.5}.shadow-control .shadow-preview-container .x-shift-control{-ms-flex-align:start;align-items:flex-start}.shadow-control .shadow-preview-container .x-shift-control .wrap,.shadow-control .shadow-preview-container input[type=range]{margin:0;width:15em;height:2em}.shadow-control .shadow-preview-container .y-shift-control{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:end;align-items:flex-end}.shadow-control .shadow-preview-container .y-shift-control .wrap{width:2em;height:15em}.shadow-control .shadow-preview-container .y-shift-control input[type=range]{transform-origin:1em 1em;transform:rotate(90deg)}.shadow-control .shadow-preview-container .preview-window{-ms-flex:1;flex:1;background-color:#999;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-image:linear-gradient(45deg,#666 25%,transparent 0),linear-gradient(-45deg,#666 25%,transparent 0),linear-gradient(45deg,transparent 75%,#666 0),linear-gradient(-45deg,transparent 75%,#666 0);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;border-radius:4px;border-radius:var(--inputRadius,4px)}.shadow-control .shadow-preview-container .preview-window .preview-block{width:33%;height:33%;background-color:#121a24;background-color:var(--bg,#121a24);border-radius:10px;border-radius:var(--panelRadius,10px)}.shadow-control .shadow-tweak{-ms-flex:1;flex:1;min-width:280px}.shadow-control .shadow-tweak .id-control{-ms-flex-align:stretch;align-items:stretch}.shadow-control .shadow-tweak .id-control .shadow-switcher{-ms-flex:1;flex:1}.shadow-control .shadow-tweak .id-control .btn,.shadow-control .shadow-tweak .id-control .shadow-switcher{min-width:1px;margin-right:5px}.shadow-control .shadow-tweak .id-control .btn{padding:0 .4em;margin:0 .1em}",""])},661:function(t,e,s){var n=s(662);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(7).default)("d9c0acde",n,!0,{})},662:function(t,e,s){(t.exports=s(6)(!1)).push([t.i,".font-control input.custom-font{min-width:10em}.font-control.custom .font-switcher{border-top-right-radius:0;border-bottom-right-radius:0}.font-control.custom .custom-font{border-top-left-radius:0;border-bottom-left-radius:0}",""])},663:function(t,e,s){var n=s(664);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(7).default)("b94bc120",n,!0,{})},664:function(t,e,s){(t.exports=s(6)(!1)).push([t.i,".contrast-ratio{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;margin-top:-4px;margin-bottom:5px}.contrast-ratio .label{margin-right:1em}.contrast-ratio .rating{display:inline-block;text-align:center;margin-left:.5em}",""])},665:function(t,e,s){var n=s(666);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(7).default)("6fe23c76",n,!0,{})},666:function(t,e,s){(t.exports=s(6)(!1)).push([t.i,".preview-container{position:relative}.underlay-preview{position:absolute;top:0;bottom:0;left:10px;right:10px}",""])},668:function(t,e,s){"use strict";s.r(e);var n=s(150),a=s(2),o=s.n(a),i=s(3),r=s(1);i.c.add(r.m,r.jb);var l={props:{submitHandler:{type:Function,required:!0},submitButtonLabel:{type:String,default:function(){return this.$t("importer.submit")}},successMessage:{type:String,default:function(){return this.$t("importer.success")}},errorMessage:{type:String,default:function(){return this.$t("importer.error")}}},data:function(){return{file:null,error:!1,success:!1,submitting:!1}},methods:{change:function(){this.file=this.$refs.input.files[0]},submit:function(){var t=this;this.dismiss(),this.submitting=!0,this.submitHandler(this.file).then((function(){t.success=!0})).catch((function(){t.error=!0})).finally((function(){t.submitting=!1}))},dismiss:function(){this.success=!1,this.error=!1}}},c=s(0);var u=function(t){s(618)},d=Object(c.a)(l,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"importer"},[s("form",[s("input",{ref:"input",attrs:{type:"file"},on:{change:t.change}})]),t._v(" "),t.submitting?s("FAIcon",{staticClass:"importer-uploading",attrs:{spin:"",icon:"circle-notch"}}):s("button",{staticClass:"btn button-default",on:{click:t.submit}},[t._v("\n "+t._s(t.submitButtonLabel)+"\n ")]),t._v(" "),t.success?s("div",[s("FAIcon",{attrs:{icon:"times"},on:{click:t.dismiss}}),t._v(" "),s("p",[t._v(t._s(t.successMessage))])],1):t.error?s("div",[s("FAIcon",{attrs:{icon:"times"},on:{click:t.dismiss}}),t._v(" "),s("p",[t._v(t._s(t.errorMessage))])],1):t._e()],1)}),[],!1,u,null,null).exports;i.c.add(r.m);var p={props:{getContent:{type:Function,required:!0},filename:{type:String,default:"export.csv"},exportButtonLabel:{type:String,default:function(){return this.$t("exporter.export")}},processingMessage:{type:String,default:function(){return this.$t("exporter.processing")}}},data:function(){return{processing:!1}},methods:{process:function(){var t=this;this.processing=!0,this.getContent().then((function(e){var s=document.createElement("a");s.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(e)),s.setAttribute("download",t.filename),s.style.display="none",document.body.appendChild(s),s.click(),document.body.removeChild(s),setTimeout((function(){t.processing=!1}),2e3)}))}}};var m=function(t){s(620)},h=Object(c.a)(p,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"exporter"},[t.processing?s("div",[s("FAIcon",{attrs:{icon:"circle-notch",size:"lg",spin:""}}),t._v(" "),s("span",[t._v(t._s(t.processingMessage))])],1):s("button",{staticClass:"btn button-default",on:{click:t.process}},[t._v("\n "+t._s(t.exportButtonLabel)+"\n ")])])}),[],!1,m,null,null).exports,v=s(59),f=s(4);function b(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),s.push.apply(s,n)}return s}var g={data:function(){return{activeTab:"profile",newDomainToMute:""}},created:function(){this.$store.dispatch("fetchTokens")},components:{Importer:d,Exporter:h,Checkbox:v.a},computed:function(t){for(var e=1;e0?s("div",{staticClass:"autosuggest-results"},[t._l(t.filtered,(function(e){return t._t("default",null,{item:e})}))],2):t._e()])}),[],!1,T,null,null).exports,P=s(42),S={props:["userId"],data:function(){return{progress:!1}},computed:{user:function(){return this.$store.getters.findUser(this.userId)},relationship:function(){return this.$store.getters.relationship(this.userId)},blocked:function(){return this.relationship.blocking}},components:{BasicUserCard:P.a},methods:{unblockUser:function(){var t=this;this.progress=!0,this.$store.dispatch("unblockUser",this.user.id).then((function(){t.progress=!1}))},blockUser:function(){var t=this;this.progress=!0,this.$store.dispatch("blockUser",this.user.id).then((function(){t.progress=!1}))}}};var I=function(t){s(626)},j=Object(c.a)(S,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("basic-user-card",{attrs:{user:t.user}},[s("div",{staticClass:"block-card-content-container"},[t.blocked?s("button",{staticClass:"btn button-default",attrs:{disabled:t.progress},on:{click:t.unblockUser}},[t.progress?[t._v("\n "+t._s(t.$t("user_card.unblock_progress"))+"\n ")]:[t._v("\n "+t._s(t.$t("user_card.unblock"))+"\n ")]],2):s("button",{staticClass:"btn button-default",attrs:{disabled:t.progress},on:{click:t.blockUser}},[t.progress?[t._v("\n "+t._s(t.$t("user_card.block_progress"))+"\n ")]:[t._v("\n "+t._s(t.$t("user_card.block"))+"\n ")]],2)])])}),[],!1,I,null,null).exports,B={props:["userId"],data:function(){return{progress:!1}},computed:{user:function(){return this.$store.getters.findUser(this.userId)},relationship:function(){return this.$store.getters.relationship(this.userId)},muted:function(){return this.relationship.muting}},components:{BasicUserCard:P.a},methods:{unmuteUser:function(){var t=this;this.progress=!0,this.$store.dispatch("unmuteUser",this.userId).then((function(){t.progress=!1}))},muteUser:function(){var t=this;this.progress=!0,this.$store.dispatch("muteUser",this.userId).then((function(){t.progress=!1}))}}};var F=function(t){s(628)},R=Object(c.a)(B,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("basic-user-card",{attrs:{user:t.user}},[s("div",{staticClass:"mute-card-content-container"},[t.muted?s("button",{staticClass:"btn button-default",attrs:{disabled:t.progress},on:{click:t.unmuteUser}},[t.progress?[t._v("\n "+t._s(t.$t("user_card.unmute_progress"))+"\n ")]:[t._v("\n "+t._s(t.$t("user_card.unmute"))+"\n ")]],2):s("button",{staticClass:"btn button-default",attrs:{disabled:t.progress},on:{click:t.muteUser}},[t.progress?[t._v("\n "+t._s(t.$t("user_card.mute_progress"))+"\n ")]:[t._v("\n "+t._s(t.$t("user_card.mute"))+"\n ")]],2)])])}),[],!1,F,null,null).exports,E=s(88),A={props:["domain"],components:{ProgressButton:E.a},computed:{user:function(){return this.$store.state.users.currentUser},muted:function(){return this.user.domainMutes.includes(this.domain)}},methods:{unmuteDomain:function(){return this.$store.dispatch("unmuteDomain",this.domain)},muteDomain:function(){return this.$store.dispatch("muteDomain",this.domain)}}};var M=function(t){s(630)},D=Object(c.a)(A,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"domain-mute-card"},[s("div",{staticClass:"domain-mute-card-domain"},[t._v("\n "+t._s(t.domain)+"\n ")]),t._v(" "),t.muted?s("ProgressButton",{staticClass:"btn button-default",attrs:{click:t.unmuteDomain},scopedSlots:t._u([{key:"progress",fn:function(){return[t._v("\n "+t._s(t.$t("domain_mute_card.unmute_progress"))+"\n ")]},proxy:!0}],null,!1,11670719)},[t._v("\n "+t._s(t.$t("domain_mute_card.unmute"))+"\n ")]):s("ProgressButton",{staticClass:"btn button-default",attrs:{click:t.muteDomain},scopedSlots:t._u([{key:"progress",fn:function(){return[t._v("\n "+t._s(t.$t("domain_mute_card.mute_progress"))+"\n ")]},proxy:!0}])},[t._v("\n "+t._s(t.$t("domain_mute_card.mute"))+"\n ")])],1)}),[],!1,M,null,null).exports,U={components:{List:s(58).a,Checkbox:v.a},props:{items:{type:Array,default:function(){return[]}},getKey:{type:Function,default:function(t){return t.id}}},data:function(){return{selected:[]}},computed:{allKeys:function(){return this.items.map(this.getKey)},filteredSelected:function(){var t=this;return this.allKeys.filter((function(e){return-1!==t.selected.indexOf(e)}))},allSelected:function(){return this.filteredSelected.length===this.items.length},noneSelected:function(){return 0===this.filteredSelected.length},someSelected:function(){return!this.allSelected&&!this.noneSelected}},methods:{isSelected:function(t){return-1!==this.filteredSelected.indexOf(this.getKey(t))},toggle:function(t,e){var s=this.getKey(e);t!==this.isSelected(s)&&(t?this.selected.push(s):this.selected.splice(this.selected.indexOf(s),1))},toggleAll:function(t){this.selected=t?this.allKeys.slice(0):[]}}};var N=function(t){s(632)},V=Object(c.a)(U,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"selectable-list"},[t.items.length>0?s("div",{staticClass:"selectable-list-header"},[s("div",{staticClass:"selectable-list-checkbox-wrapper"},[s("Checkbox",{attrs:{checked:t.allSelected,indeterminate:t.someSelected},on:{change:t.toggleAll}},[t._v("\n "+t._s(t.$t("selectable_list.select_all"))+"\n ")])],1),t._v(" "),s("div",{staticClass:"selectable-list-header-actions"},[t._t("header",null,{selected:t.filteredSelected})],2)]):t._e(),t._v(" "),s("List",{attrs:{items:t.items,"get-key":t.getKey},scopedSlots:t._u([{key:"item",fn:function(e){var n=e.item;return[s("div",{staticClass:"selectable-list-item-inner",class:{"selectable-list-item-selected-inner":t.isSelected(n)}},[s("div",{staticClass:"selectable-list-checkbox-wrapper"},[s("Checkbox",{attrs:{checked:t.isSelected(n)},on:{change:function(e){return t.toggle(e,n)}}})],1),t._v(" "),t._t("item",null,{item:n})],2)]}},{key:"empty",fn:function(){return[t._t("empty")]},proxy:!0}],null,!0)})],1)}),[],!1,N,null,null).exports,W=s(203),q=s.n(W),z=s(9),G=s.n(z),K=s(13),H=s.n(K),J=s(8),Q=s.n(J),X=s(204),Y=s.n(X),Z=s(205),tt=(s(634),s(57));function et(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),s.push.apply(s,n)}return s}function st(t){for(var e=1;e0?s("ProgressButton",{staticClass:"btn button-default bulk-action-button",attrs:{click:function(){return t.blockUsers(n)}},scopedSlots:t._u([{key:"progress",fn:function(){return[t._v("\n "+t._s(t.$t("user_card.block_progress"))+"\n ")]},proxy:!0}],null,!0)},[t._v("\n "+t._s(t.$t("user_card.block"))+"\n ")]):t._e(),t._v(" "),n.length>0?s("ProgressButton",{staticClass:"btn button-default",attrs:{click:function(){return t.unblockUsers(n)}},scopedSlots:t._u([{key:"progress",fn:function(){return[t._v("\n "+t._s(t.$t("user_card.unblock_progress"))+"\n ")]},proxy:!0}],null,!0)},[t._v("\n "+t._s(t.$t("user_card.unblock"))+"\n ")]):t._e()],1)]}},{key:"item",fn:function(t){var e=t.item;return[s("BlockCard",{attrs:{"user-id":e}})]}},{key:"empty",fn:function(){return[t._v("\n "+t._s(t.$t("settings.no_blocks"))+"\n ")]},proxy:!0}])})],1),t._v(" "),s("div",{attrs:{label:t.$t("settings.mutes_tab")}},[s("tab-switcher",[s("div",{attrs:{label:"Users"}},[s("div",{staticClass:"usersearch-wrapper"},[s("Autosuggest",{attrs:{filter:t.filterUnMutedUsers,query:t.queryUserIds,placeholder:t.$t("settings.search_user_to_mute")},scopedSlots:t._u([{key:"default",fn:function(t){return[s("MuteCard",{attrs:{"user-id":t.item}})]}}])})],1),t._v(" "),s("MuteList",{attrs:{refresh:!0,"get-key":function(t){return t}},scopedSlots:t._u([{key:"header",fn:function(e){var n=e.selected;return[s("div",{staticClass:"bulk-actions"},[n.length>0?s("ProgressButton",{staticClass:"btn button-default",attrs:{click:function(){return t.muteUsers(n)}},scopedSlots:t._u([{key:"progress",fn:function(){return[t._v("\n "+t._s(t.$t("user_card.mute_progress"))+"\n ")]},proxy:!0}],null,!0)},[t._v("\n "+t._s(t.$t("user_card.mute"))+"\n ")]):t._e(),t._v(" "),n.length>0?s("ProgressButton",{staticClass:"btn button-default",attrs:{click:function(){return t.unmuteUsers(n)}},scopedSlots:t._u([{key:"progress",fn:function(){return[t._v("\n "+t._s(t.$t("user_card.unmute_progress"))+"\n ")]},proxy:!0}],null,!0)},[t._v("\n "+t._s(t.$t("user_card.unmute"))+"\n ")]):t._e()],1)]}},{key:"item",fn:function(t){var e=t.item;return[s("MuteCard",{attrs:{"user-id":e}})]}},{key:"empty",fn:function(){return[t._v("\n "+t._s(t.$t("settings.no_mutes"))+"\n ")]},proxy:!0}])})],1),t._v(" "),s("div",{attrs:{label:t.$t("settings.domain_mutes")}},[s("div",{staticClass:"domain-mute-form"},[s("Autosuggest",{attrs:{filter:t.filterUnMutedDomains,query:t.queryKnownDomains,placeholder:t.$t("settings.type_domains_to_mute")},scopedSlots:t._u([{key:"default",fn:function(t){return[s("DomainMuteCard",{attrs:{domain:t.item}})]}}])})],1),t._v(" "),s("DomainMuteList",{attrs:{refresh:!0,"get-key":function(t){return t}},scopedSlots:t._u([{key:"header",fn:function(e){var n=e.selected;return[s("div",{staticClass:"bulk-actions"},[n.length>0?s("ProgressButton",{staticClass:"btn button-default",attrs:{click:function(){return t.unmuteDomains(n)}},scopedSlots:t._u([{key:"progress",fn:function(){return[t._v("\n "+t._s(t.$t("domain_mute_card.unmute_progress"))+"\n ")]},proxy:!0}],null,!0)},[t._v("\n "+t._s(t.$t("domain_mute_card.unmute"))+"\n ")]):t._e()],1)]}},{key:"item",fn:function(t){var e=t.item;return[s("DomainMuteCard",{attrs:{domain:e}})]}},{key:"empty",fn:function(){return[t._v("\n "+t._s(t.$t("settings.no_mutes"))+"\n ")]},proxy:!0}])})],1)])],1)])}),[],!1,lt,null,null).exports,ut={data:function(){return{activeTab:"profile",notificationSettings:this.$store.state.users.currentUser.notification_settings,newDomainToMute:""}},components:{Checkbox:v.a},computed:{user:function(){return this.$store.state.users.currentUser}},methods:{updateNotificationSettings:function(){this.$store.state.api.backendInteractor.updateNotificationSettings({settings:this.notificationSettings})}}},dt=Object(c.a)(ut,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{attrs:{label:t.$t("settings.notifications")}},[s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.notification_setting_filters")))]),t._v(" "),s("p",[s("Checkbox",{model:{value:t.notificationSettings.block_from_strangers,callback:function(e){t.$set(t.notificationSettings,"block_from_strangers",e)},expression:"notificationSettings.block_from_strangers"}},[t._v("\n "+t._s(t.$t("settings.notification_setting_block_from_strangers"))+"\n ")])],1)]),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.notification_setting_privacy")))]),t._v(" "),s("p",[s("Checkbox",{model:{value:t.notificationSettings.hide_notification_contents,callback:function(e){t.$set(t.notificationSettings,"hide_notification_contents",e)},expression:"notificationSettings.hide_notification_contents"}},[t._v("\n "+t._s(t.$t("settings.notification_setting_hide_notification_contents"))+"\n ")])],1)]),t._v(" "),s("div",{staticClass:"setting-item"},[s("p",[t._v(t._s(t.$t("settings.notification_mutes")))]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.notification_blocks")))]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.updateNotificationSettings}},[t._v("\n "+t._s(t.$t("settings.save"))+"\n ")])])])}),[],!1,null,null,null).exports,pt=s(635),mt=s.n(pt),ht=s(40),vt=s.n(ht),ft=s(613),bt=s.n(ft),gt=s(152),_t=s.n(gt),wt=s(21);i.c.add(r.pb);var Ct={components:{Popover:wt.default},props:["changed"]};var xt=function(t){s(638)},kt=Object(c.a)(Ct,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.changed?s("span",{staticClass:"ModifiedIndicator"},[s("Popover",{attrs:{trigger:"hover"},scopedSlots:t._u([{key:"trigger",fn:function(){return[t._v("\n  \n "),s("FAIcon",{attrs:{icon:"wrench","aria-label":t.$t("settings.setting_changed")}})]},proxy:!0},{key:"content",fn:function(){return[s("div",{staticClass:"modified-tooltip"},[t._v("\n "+t._s(t.$t("settings.setting_changed"))+"\n ")])]},proxy:!0}],null,!1,1710729471)})],1):t._e()}),[],!1,xt,null,null).exports,yt={components:{Checkbox:v.a,ModifiedIndicator:kt},props:["path","disabled"],computed:{pathDefault:function(){var t=this.path.split("."),e=bt()(t),s=e[0],n=e.slice(1);return[s+"DefaultValue"].concat(H()(n)).join(".")},state:function(){var t=C()(this.$parent,this.path);return void 0===t?this.defaultState:t},defaultState:function(){return C()(this.$parent,this.pathDefault)},isChanged:function(){return this.state!==this.defaultState}},methods:{update:function(t){_t()(this.$parent,this.path,t)}}},$t=Object(c.a)(yt,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("label",{staticClass:"BooleanSetting"},[s("Checkbox",{attrs:{checked:t.state,disabled:t.disabled},on:{change:t.update}},[t.$slots.default?s("span",{staticClass:"label"},[t._t("default")],2):t._e(),t._v(" "),s("ModifiedIndicator",{attrs:{changed:t.isChanged}})],1)],1)}),[],!1,null,null,null).exports,Lt=s(60),Tt={components:{Select:Lt.a,ModifiedIndicator:kt},props:["path","disabled","options"],computed:{pathDefault:function(){var t=this.path.split("."),e=bt()(t),s=e[0],n=e.slice(1);return[s+"DefaultValue"].concat(H()(n)).join(".")},state:function(){var t=C()(this.$parent,this.path);return void 0===t?this.defaultState:t},defaultState:function(){return C()(this.$parent,this.pathDefault)},isChanged:function(){return this.state!==this.defaultState}},methods:{update:function(t){_t()(this.$parent,this.path,t)}}};var Ot=function(t){s(640)},Pt=Object(c.a)(Tt,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("label",{staticClass:"ChoiceSetting"},[t._t("default"),t._v(" "),s("Select",{attrs:{value:t.state,disabled:t.disabled},on:{change:t.update}},t._l(t.options,(function(e){return s("option",{key:e.key,domProps:{value:e.value}},[t._v("\n "+t._s(e.label)+"\n "+t._s(e.value===t.defaultState?t.$t("settings.instance_default_simple"):"")+"\n ")])})),0),t._v(" "),s("ModifiedIndicator",{attrs:{changed:t.isChanged}})],2)}),[],!1,Ot,null,null).exports,St=s(105);function It(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),s.push.apply(s,n)}return s}function jt(t){for(var e=1;e0}))})}}}),watch:{notificationVisibility:{handler:function(t){this.$store.dispatch("setOption",{name:"notificationVisibility",value:this.$store.getters.mergedConfig.notificationVisibility})},deep:!0},replyVisibility:function(){this.$store.dispatch("queueFlushAll")}}},Et=Object(c.a)(Rt,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{attrs:{label:t.$t("settings.filtering")}},[s("div",{staticClass:"setting-item"},[s("div",{staticClass:"select-multiple"},[s("span",{staticClass:"label"},[t._v(t._s(t.$t("settings.notification_visibility")))]),t._v(" "),s("ul",{staticClass:"option-list"},[s("li",[s("BooleanSetting",{attrs:{path:"notificationVisibility.likes"}},[t._v("\n "+t._s(t.$t("settings.notification_visibility_likes"))+"\n ")])],1),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"notificationVisibility.repeats"}},[t._v("\n "+t._s(t.$t("settings.notification_visibility_repeats"))+"\n ")])],1),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"notificationVisibility.follows"}},[t._v("\n "+t._s(t.$t("settings.notification_visibility_follows"))+"\n ")])],1),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"notificationVisibility.mentions"}},[t._v("\n "+t._s(t.$t("settings.notification_visibility_mentions"))+"\n ")])],1),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"notificationVisibility.moves"}},[t._v("\n "+t._s(t.$t("settings.notification_visibility_moves"))+"\n ")])],1),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"notificationVisibility.emojiReactions"}},[t._v("\n "+t._s(t.$t("settings.notification_visibility_emoji_reactions"))+"\n ")])],1)])]),t._v(" "),s("ChoiceSetting",{attrs:{id:"replyVisibility",path:"replyVisibility",options:t.replyVisibilityOptions}},[t._v("\n "+t._s(t.$t("settings.replies_in_timeline"))+"\n ")]),t._v(" "),s("div",[s("BooleanSetting",{attrs:{path:"hidePostStats"}},[t._v("\n "+t._s(t.$t("settings.hide_post_stats"))+"\n ")])],1),t._v(" "),s("div",[s("BooleanSetting",{attrs:{path:"hideUserStats"}},[t._v("\n "+t._s(t.$t("settings.hide_user_stats"))+"\n ")])],1)],1),t._v(" "),s("div",{staticClass:"setting-item"},[s("div",[s("p",[t._v(t._s(t.$t("settings.filtering_explanation")))]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.muteWordsString,expression:"muteWordsString"}],staticClass:"resize-height",attrs:{id:"muteWords"},domProps:{value:t.muteWordsString},on:{input:function(e){e.target.composing||(t.muteWordsString=e.target.value)}}})]),t._v(" "),s("div",[s("BooleanSetting",{attrs:{path:"hideFilteredStatuses"}},[t._v("\n "+t._s(t.$t("settings.hide_filtered_statuses"))+"\n ")])],1)])])}),[],!1,null,null,null).exports,At=s(5),Mt=s.n(At),Dt={props:{backupCodes:{type:Object,default:function(){return{inProgress:!1,codes:[]}}}},data:function(){return{}},computed:{inProgress:function(){return this.backupCodes.inProgress},ready:function(){return this.backupCodes.codes.length>0},displayTitle:function(){return this.inProgress||this.ready}}};var Ut=function(t){s(644)},Nt=Object(c.a)(Dt,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"mfa-backup-codes"},[t.displayTitle?s("h4",[t._v("\n "+t._s(t.$t("settings.mfa.recovery_codes"))+"\n ")]):t._e(),t._v(" "),t.inProgress?s("i",[t._v(t._s(t.$t("settings.mfa.waiting_a_recovery_codes")))]):t._e(),t._v(" "),t.ready?[s("p",{staticClass:"alert warning"},[t._v("\n "+t._s(t.$t("settings.mfa.recovery_codes_warning"))+"\n ")]),t._v(" "),s("ul",{staticClass:"backup-codes"},t._l(t.backupCodes.codes,(function(e){return s("li",{key:e},[t._v("\n "+t._s(e)+"\n ")])})),0)]:t._e()],2)}),[],!1,Ut,null,null).exports,Vt={props:["disabled"],data:function(){return{}},methods:{confirm:function(){this.$emit("confirm")},cancel:function(){this.$emit("cancel")}}},Wt=Object(c.a)(Vt,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[t._t("default"),t._v(" "),s("button",{staticClass:"btn button-default",attrs:{disabled:t.disabled},on:{click:t.confirm}},[t._v("\n "+t._s(t.$t("general.confirm"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn button-default",attrs:{disabled:t.disabled},on:{click:t.cancel}},[t._v("\n "+t._s(t.$t("general.cancel"))+"\n ")])],2)}),[],!1,null,null,null).exports;function qt(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),s.push.apply(s,n)}return s}var zt={props:["settings"],data:function(){return{error:!1,currentPassword:"",deactivate:!1,inProgress:!1}},components:{confirm:Wt},computed:function(t){for(var e=1;e0},confirmNewBackupCodes:function(){return this.backupCodes.getNewCodes}},Object(f.e)({backendInteractor:function(t){return t.api.backendInteractor}})),methods:{activateOTP:function(){this.settings.enabled||(this.setupState.state="getBackupcodes",this.fetchBackupCodes())},fetchBackupCodes:function(){var t=this;return this.backupCodes.inProgress=!0,this.backupCodes.codes=[],this.backendInteractor.generateMfaBackupCodes().then((function(e){t.backupCodes.codes=e.codes,t.backupCodes.inProgress=!1}))},getBackupCodes:function(){this.backupCodes.getNewCodes=!0},confirmBackupCodes:function(){var t=this;this.fetchBackupCodes().then((function(e){t.backupCodes.getNewCodes=!1}))},cancelBackupCodes:function(){this.backupCodes.getNewCodes=!1},setupOTP:function(){var t=this;this.setupState.state="setupOTP",this.setupState.setupOTPState="prepare",this.backendInteractor.mfaSetupOTP().then((function(e){t.otpSettings=e,t.setupState.setupOTPState="confirm"}))},doConfirmOTP:function(){var t=this;this.error=null,this.backendInteractor.mfaConfirmOTP({token:this.otpConfirmToken,password:this.currentPassword}).then((function(e){e.error?t.error=e.error:t.completeSetup()}))},completeSetup:function(){this.setupState.setupOTPState="complete",this.setupState.state="complete",this.currentPassword=null,this.error=null,this.fetchSettings()},cancelSetup:function(){this.setupState.setupOTPState="",this.setupState.state="",this.currentPassword=null,this.error=null},fetchSettings:function(){var t;return Mt.a.async((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Mt.a.awrap(this.backendInteractor.settingsMFA());case 2:if(!(t=e.sent).error){e.next=5;break}return e.abrupt("return");case 5:return this.settings=t.settings,this.settings.available=!0,e.abrupt("return",t);case 8:case"end":return e.stop()}}),null,this)}},mounted:function(){var t=this;this.fetchSettings().then((function(){t.readyInit=!0}))}};var Ht=function(t){s(642)},Jt=Object(c.a)(Kt,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.readyInit&&t.settings.available?s("div",{staticClass:"setting-item mfa-settings"},[s("div",{staticClass:"mfa-heading"},[s("h2",[t._v(t._s(t.$t("settings.mfa.title")))])]),t._v(" "),s("div",[t.setupInProgress?t._e():s("div",{staticClass:"setting-item"},[s("h3",[t._v(t._s(t.$t("settings.mfa.authentication_methods")))]),t._v(" "),s("totp-item",{attrs:{settings:t.settings},on:{deactivate:t.fetchSettings,activate:t.activateOTP}}),t._v(" "),s("br"),t._v(" "),t.settings.enabled?s("div",[t.confirmNewBackupCodes?t._e():s("recovery-codes",{attrs:{"backup-codes":t.backupCodes}}),t._v(" "),t.confirmNewBackupCodes?t._e():s("button",{staticClass:"btn button-default",on:{click:t.getBackupCodes}},[t._v("\n "+t._s(t.$t("settings.mfa.generate_new_recovery_codes"))+"\n ")]),t._v(" "),t.confirmNewBackupCodes?s("div",[s("confirm",{attrs:{disabled:t.backupCodes.inProgress},on:{confirm:t.confirmBackupCodes,cancel:t.cancelBackupCodes}},[s("p",{staticClass:"warning"},[t._v("\n "+t._s(t.$t("settings.mfa.warning_of_generate_new_codes"))+"\n ")])])],1):t._e()],1):t._e()],1),t._v(" "),t.setupInProgress?s("div",[s("h3",[t._v(t._s(t.$t("settings.mfa.setup_otp")))]),t._v(" "),t.setupOTPInProgress?t._e():s("recovery-codes",{attrs:{"backup-codes":t.backupCodes}}),t._v(" "),t.canSetupOTP?s("button",{staticClass:"btn button-default",on:{click:t.cancelSetup}},[t._v("\n "+t._s(t.$t("general.cancel"))+"\n ")]):t._e(),t._v(" "),t.canSetupOTP?s("button",{staticClass:"btn button-default",on:{click:t.setupOTP}},[t._v("\n "+t._s(t.$t("settings.mfa.setup_otp"))+"\n ")]):t._e(),t._v(" "),t.setupOTPInProgress?[t.prepareOTP?s("i",[t._v(t._s(t.$t("settings.mfa.wait_pre_setup_otp")))]):t._e(),t._v(" "),t.confirmOTP?s("div",[s("div",{staticClass:"setup-otp"},[s("div",{staticClass:"qr-code"},[s("h4",[t._v(t._s(t.$t("settings.mfa.scan.title")))]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.mfa.scan.desc")))]),t._v(" "),s("qrcode",{attrs:{value:t.otpSettings.provisioning_uri,options:{width:200}}}),t._v(" "),s("p",[t._v("\n "+t._s(t.$t("settings.mfa.scan.secret_code"))+":\n "+t._s(t.otpSettings.key)+"\n ")])],1),t._v(" "),s("div",{staticClass:"verify"},[s("h4",[t._v(t._s(t.$t("general.verify")))]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.mfa.verify.desc")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.otpConfirmToken,expression:"otpConfirmToken"}],attrs:{type:"text"},domProps:{value:t.otpConfirmToken},on:{input:function(e){e.target.composing||(t.otpConfirmToken=e.target.value)}}}),t._v(" "),s("p",[t._v(t._s(t.$t("settings.enter_current_password_to_confirm"))+":")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.currentPassword,expression:"currentPassword"}],attrs:{type:"password"},domProps:{value:t.currentPassword},on:{input:function(e){e.target.composing||(t.currentPassword=e.target.value)}}}),t._v(" "),s("div",{staticClass:"confirm-otp-actions"},[s("button",{staticClass:"btn button-default",on:{click:t.doConfirmOTP}},[t._v("\n "+t._s(t.$t("settings.mfa.confirm_and_enable"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.cancelSetup}},[t._v("\n "+t._s(t.$t("general.cancel"))+"\n ")])]),t._v(" "),t.error?s("div",{staticClass:"alert error"},[t._v("\n "+t._s(t.error)+"\n ")]):t._e()])])]):t._e()]:t._e()],2):t._e()])]):t._e()}),[],!1,Ht,null,null).exports,Qt=s(104),Xt={data:function(){return{newEmail:"",changeEmailError:!1,changeEmailPassword:"",changedEmail:!1,deletingAccount:!1,deleteAccountConfirmPasswordInput:"",deleteAccountError:!1,changePasswordInputs:["","",""],changedPassword:!1,changePasswordError:!1}},created:function(){this.$store.dispatch("fetchTokens")},components:{ProgressButton:E.a,Mfa:Jt,Checkbox:v.a},computed:{user:function(){return this.$store.state.users.currentUser},pleromaBackend:function(){return this.$store.state.instance.pleromaBackend},oauthTokens:function(){var t=this;return this.$store.state.oauthTokens.tokens.map((function(e){return{id:e.id,appName:e.app_name,validUntil:new Date(e.valid_until).toLocaleDateString(Qt.a.internalToBrowserLocale(t.$i18n.locale))}}))}},methods:{confirmDelete:function(){this.deletingAccount=!0},deleteAccount:function(){var t=this;this.$store.state.api.backendInteractor.deleteAccount({password:this.deleteAccountConfirmPasswordInput}).then((function(e){"success"===e.status?(t.$store.dispatch("logout"),t.$router.push({name:"root"})):t.deleteAccountError=e.error}))},changePassword:function(){var t=this,e={password:this.changePasswordInputs[0],newPassword:this.changePasswordInputs[1],newPasswordConfirmation:this.changePasswordInputs[2]};this.$store.state.api.backendInteractor.changePassword(e).then((function(e){"success"===e.status?(t.changedPassword=!0,t.changePasswordError=!1,t.logout()):(t.changedPassword=!1,t.changePasswordError=e.error)}))},changeEmail:function(){var t=this,e={email:this.newEmail,password:this.changeEmailPassword};this.$store.state.api.backendInteractor.changeEmail(e).then((function(e){"success"===e.status?(t.changedEmail=!0,t.changeEmailError=!1):(t.changedEmail=!1,t.changeEmailError=e.error)}))},logout:function(){this.$store.dispatch("logout"),this.$router.replace("/")},revokeToken:function(t){window.confirm("".concat(this.$i18n.t("settings.revoke_token"),"?"))&&this.$store.dispatch("revokeToken",t)}}},Yt=Object(c.a)(Xt,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{attrs:{label:t.$t("settings.security_tab")}},[s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.change_email")))]),t._v(" "),s("div",[s("p",[t._v(t._s(t.$t("settings.new_email")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.newEmail,expression:"newEmail"}],attrs:{type:"email",autocomplete:"email"},domProps:{value:t.newEmail},on:{input:function(e){e.target.composing||(t.newEmail=e.target.value)}}})]),t._v(" "),s("div",[s("p",[t._v(t._s(t.$t("settings.current_password")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.changeEmailPassword,expression:"changeEmailPassword"}],attrs:{type:"password",autocomplete:"current-password"},domProps:{value:t.changeEmailPassword},on:{input:function(e){e.target.composing||(t.changeEmailPassword=e.target.value)}}})]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.changeEmail}},[t._v("\n "+t._s(t.$t("settings.save"))+"\n ")]),t._v(" "),t.changedEmail?s("p",[t._v("\n "+t._s(t.$t("settings.changed_email"))+"\n ")]):t._e(),t._v(" "),!1!==t.changeEmailError?[s("p",[t._v(t._s(t.$t("settings.change_email_error")))]),t._v(" "),s("p",[t._v(t._s(t.changeEmailError))])]:t._e()],2),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.change_password")))]),t._v(" "),s("div",[s("p",[t._v(t._s(t.$t("settings.current_password")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.changePasswordInputs[0],expression:"changePasswordInputs[0]"}],attrs:{type:"password"},domProps:{value:t.changePasswordInputs[0]},on:{input:function(e){e.target.composing||t.$set(t.changePasswordInputs,0,e.target.value)}}})]),t._v(" "),s("div",[s("p",[t._v(t._s(t.$t("settings.new_password")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.changePasswordInputs[1],expression:"changePasswordInputs[1]"}],attrs:{type:"password"},domProps:{value:t.changePasswordInputs[1]},on:{input:function(e){e.target.composing||t.$set(t.changePasswordInputs,1,e.target.value)}}})]),t._v(" "),s("div",[s("p",[t._v(t._s(t.$t("settings.confirm_new_password")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.changePasswordInputs[2],expression:"changePasswordInputs[2]"}],attrs:{type:"password"},domProps:{value:t.changePasswordInputs[2]},on:{input:function(e){e.target.composing||t.$set(t.changePasswordInputs,2,e.target.value)}}})]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.changePassword}},[t._v("\n "+t._s(t.$t("settings.save"))+"\n ")]),t._v(" "),t.changedPassword?s("p",[t._v("\n "+t._s(t.$t("settings.changed_password"))+"\n ")]):!1!==t.changePasswordError?s("p",[t._v("\n "+t._s(t.$t("settings.change_password_error"))+"\n ")]):t._e(),t._v(" "),t.changePasswordError?s("p",[t._v("\n "+t._s(t.changePasswordError)+"\n ")]):t._e()]),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.oauth_tokens")))]),t._v(" "),s("table",{staticClass:"oauth-tokens"},[s("thead",[s("tr",[s("th",[t._v(t._s(t.$t("settings.app_name")))]),t._v(" "),s("th",[t._v(t._s(t.$t("settings.valid_until")))]),t._v(" "),s("th")])]),t._v(" "),s("tbody",t._l(t.oauthTokens,(function(e){return s("tr",{key:e.id},[s("td",[t._v(t._s(e.appName))]),t._v(" "),s("td",[t._v(t._s(e.validUntil))]),t._v(" "),s("td",{staticClass:"actions"},[s("button",{staticClass:"btn button-default",on:{click:function(s){return t.revokeToken(e.id)}}},[t._v("\n "+t._s(t.$t("settings.revoke_token"))+"\n ")])])])})),0)])]),t._v(" "),s("mfa"),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.delete_account")))]),t._v(" "),t.deletingAccount?t._e():s("p",[t._v("\n "+t._s(t.$t("settings.delete_account_description"))+"\n ")]),t._v(" "),t.deletingAccount?s("div",[s("p",[t._v(t._s(t.$t("settings.delete_account_instructions")))]),t._v(" "),s("p",[t._v(t._s(t.$t("login.password")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.deleteAccountConfirmPasswordInput,expression:"deleteAccountConfirmPasswordInput"}],attrs:{type:"password"},domProps:{value:t.deleteAccountConfirmPasswordInput},on:{input:function(e){e.target.composing||(t.deleteAccountConfirmPasswordInput=e.target.value)}}}),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.deleteAccount}},[t._v("\n "+t._s(t.$t("settings.delete_account"))+"\n ")])]):t._e(),t._v(" "),!1!==t.deleteAccountError?s("p",[t._v("\n "+t._s(t.$t("settings.delete_account_error"))+"\n ")]):t._e(),t._v(" "),t.deleteAccountError?s("p",[t._v("\n "+t._s(t.deleteAccountError)+"\n ")]):t._e(),t._v(" "),t.deletingAccount?t._e():s("button",{staticClass:"btn button-default",on:{click:t.confirmDelete}},[t._v("\n "+t._s(t.$t("settings.save"))+"\n ")])])],1)}),[],!1,null,null,null).exports,Zt=s(200),te=s.n(Zt),ee=s(106),se=s.n(ee),ne=s(26),ae=s.n(ne),oe=s(651);s(652);i.c.add(r.m);var ie={props:{trigger:{type:[String,window.Element],required:!0},submitHandler:{type:Function,required:!0},cropperOptions:{type:Object,default:function(){return{aspectRatio:1,autoCropArea:1,viewMode:1,movable:!1,zoomable:!1,guides:!1}}},mimes:{type:String,default:"image/png, image/gif, image/jpeg, image/bmp, image/x-icon"},saveButtonLabel:{type:String},saveWithoutCroppingButtonlabel:{type:String},cancelButtonLabel:{type:String}},data:function(){return{cropper:void 0,dataUrl:void 0,filename:void 0,submitting:!1}},computed:{saveText:function(){return this.saveButtonLabel||this.$t("image_cropper.save")},saveWithoutCroppingText:function(){return this.saveWithoutCroppingButtonlabel||this.$t("image_cropper.save_without_cropping")},cancelText:function(){return this.cancelButtonLabel||this.$t("image_cropper.cancel")}},methods:{destroy:function(){this.cropper&&this.cropper.destroy(),this.$refs.input.value="",this.dataUrl=void 0,this.$emit("close")},submit:function(){var t=this,e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.submitting=!0,this.submitHandler(e&&this.cropper,this.file).then((function(){return t.destroy()})).finally((function(){t.submitting=!1}))},pickImage:function(){this.$refs.input.click()},createCropper:function(){this.cropper=new oe.a(this.$refs.img,this.cropperOptions)},getTriggerDOM:function(){return"object"===ae()(this.trigger)?this.trigger:document.querySelector(this.trigger)},readFile:function(){var t=this,e=this.$refs.input;if(null!=e.files&&null!=e.files[0]){this.file=e.files[0];var s=new window.FileReader;s.onload=function(e){t.dataUrl=e.target.result,t.$emit("open")},s.readAsDataURL(this.file),this.$emit("changed",this.file,s)}}},mounted:function(){var t=this.getTriggerDOM();t?t.addEventListener("click",this.pickImage):this.$emit("error","No image make trigger found.","user"),this.$refs.input.addEventListener("change",this.readFile)},beforeDestroy:function(){var t=this.getTriggerDOM();t&&t.removeEventListener("click",this.pickImage),this.$refs.input.removeEventListener("change",this.readFile)}};var re=function(t){s(649)},le=Object(c.a)(ie,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"image-cropper"},[t.dataUrl?s("div",[s("div",{staticClass:"image-cropper-image-container"},[s("img",{ref:"img",attrs:{src:t.dataUrl,alt:""},on:{load:function(e){return e.stopPropagation(),t.createCropper(e)}}})]),t._v(" "),s("div",{staticClass:"image-cropper-buttons-wrapper"},[s("button",{staticClass:"button-default btn",attrs:{type:"button",disabled:t.submitting},domProps:{textContent:t._s(t.saveText)},on:{click:function(e){return t.submit()}}}),t._v(" "),s("button",{staticClass:"button-default btn",attrs:{type:"button",disabled:t.submitting},domProps:{textContent:t._s(t.cancelText)},on:{click:t.destroy}}),t._v(" "),s("button",{staticClass:"button-default btn",attrs:{type:"button",disabled:t.submitting},domProps:{textContent:t._s(t.saveWithoutCroppingText)},on:{click:function(e){return t.submit(!1)}}}),t._v(" "),t.submitting?s("FAIcon",{attrs:{spin:"",icon:"circle-notch"}}):t._e()],1)]):t._e(),t._v(" "),s("input",{ref:"input",staticClass:"image-cropper-img-input",attrs:{type:"file",accept:t.mimes}})])}),[],!1,re,null,null).exports,ce=s(209),ue=s(81),de=s(208),pe=s(144);i.c.add(r.jb,r.P,r.m);var me={data:function(){return{newName:this.$store.state.users.currentUser.name,newBio:te()(this.$store.state.users.currentUser.description),newLocked:this.$store.state.users.currentUser.locked,newNoRichText:this.$store.state.users.currentUser.no_rich_text,newDefaultScope:this.$store.state.users.currentUser.default_scope,newFields:this.$store.state.users.currentUser.fields.map((function(t){return{name:t.name,value:t.value}})),hideFollows:this.$store.state.users.currentUser.hide_follows,hideFollowers:this.$store.state.users.currentUser.hide_followers,hideFollowsCount:this.$store.state.users.currentUser.hide_follows_count,hideFollowersCount:this.$store.state.users.currentUser.hide_followers_count,showRole:this.$store.state.users.currentUser.show_role,role:this.$store.state.users.currentUser.role,discoverable:this.$store.state.users.currentUser.discoverable,bot:this.$store.state.users.currentUser.bot,allowFollowingMove:this.$store.state.users.currentUser.allow_following_move,pickAvatarBtnVisible:!0,bannerUploading:!1,backgroundUploading:!1,banner:null,bannerPreview:null,background:null,backgroundPreview:null}},components:{ScopeSelector:ce.a,ImageCropper:le,EmojiInput:de.a,Autosuggest:O,ProgressButton:E.a,Checkbox:v.a},computed:{user:function(){return this.$store.state.users.currentUser},emojiUserSuggestor:function(){return Object(pe.a)({emoji:[].concat(H()(this.$store.state.instance.emoji),H()(this.$store.state.instance.customEmoji)),store:this.$store})},emojiSuggestor:function(){return Object(pe.a)({emoji:[].concat(H()(this.$store.state.instance.emoji),H()(this.$store.state.instance.customEmoji))})},userSuggestor:function(){return Object(pe.a)({store:this.$store})},fieldsLimits:function(){return this.$store.state.instance.fieldsLimits},maxFields:function(){return this.fieldsLimits?this.fieldsLimits.maxFields:0},defaultAvatar:function(){return this.$store.state.instance.server+this.$store.state.instance.defaultAvatar},defaultBanner:function(){return this.$store.state.instance.server+this.$store.state.instance.defaultBanner},isDefaultAvatar:function(){var t=this.$store.state.instance.defaultAvatar;return!this.$store.state.users.currentUser.profile_image_url||this.$store.state.users.currentUser.profile_image_url.includes(t)},isDefaultBanner:function(){var t=this.$store.state.instance.defaultBanner;return!this.$store.state.users.currentUser.cover_photo||this.$store.state.users.currentUser.cover_photo.includes(t)},isDefaultBackground:function(){return!this.$store.state.users.currentUser.background_image},avatarImgSrc:function(){var t=this.$store.state.users.currentUser.profile_image_url_original;return t||this.defaultAvatar},bannerImgSrc:function(){var t=this.$store.state.users.currentUser.cover_photo;return t||this.defaultBanner}},methods:{updateProfile:function(){var t=this;this.$store.state.api.backendInteractor.updateProfile({params:{note:this.newBio,locked:this.newLocked,display_name:this.newName,fields_attributes:this.newFields.filter((function(t){return null!=t})),default_scope:this.newDefaultScope,no_rich_text:this.newNoRichText,hide_follows:this.hideFollows,hide_followers:this.hideFollowers,discoverable:this.discoverable,bot:this.bot,allow_following_move:this.allowFollowingMove,hide_follows_count:this.hideFollowsCount,hide_followers_count:this.hideFollowersCount,show_role:this.showRole}}).then((function(e){t.newFields.splice(e.fields.length),se()(t.newFields,e.fields),t.$store.commit("addNewUsers",[e]),t.$store.commit("setCurrentUser",e)}))},changeVis:function(t){this.newDefaultScope=t},addField:function(){return this.newFields.lengththis.$store.state.instance[t+"limit"]){var a=ue.a.fileSizeFormat(n.size),o=ue.a.fileSizeFormat(this.$store.state.instance[t+"limit"]);this.$store.dispatch("pushGlobalNotice",{messageKey:"upload.error.message",messageArgs:[this.$t("upload.error.file_too_big",{filesize:a.num,filesizeunit:a.unit,allowedsize:o.num,allowedsizeunit:o.unit})],level:"error"})}else{var i=new FileReader;i.onload=function(e){var a=e.target.result;s[t+"Preview"]=a,s[t]=n},i.readAsDataURL(n)}},resetAvatar:function(){window.confirm(this.$t("settings.reset_avatar_confirm"))&&this.submitAvatar(void 0,"")},resetBanner:function(){window.confirm(this.$t("settings.reset_banner_confirm"))&&this.submitBanner("")},resetBackground:function(){window.confirm(this.$t("settings.reset_background_confirm"))&&this.submitBackground("")},submitAvatar:function(t,e){var s=this;return new Promise((function(n,a){function o(t){s.$store.state.api.backendInteractor.updateProfileImages({avatar:t}).then((function(t){s.$store.commit("addNewUsers",[t]),s.$store.commit("setCurrentUser",t),n()})).catch((function(t){s.displayUploadError(t),a(t)}))}t?t.getCroppedCanvas().toBlob(o,e.type):o(e)}))},submitBanner:function(t){var e=this;(this.bannerPreview||""===t)&&(this.bannerUploading=!0,this.$store.state.api.backendInteractor.updateProfileImages({banner:t}).then((function(t){e.$store.commit("addNewUsers",[t]),e.$store.commit("setCurrentUser",t),e.bannerPreview=null})).catch(this.displayUploadError).finally((function(){e.bannerUploading=!1})))},submitBackground:function(t){var e=this;(this.backgroundPreview||""===t)&&(this.backgroundUploading=!0,this.$store.state.api.backendInteractor.updateProfileImages({background:t}).then((function(t){e.$store.commit("addNewUsers",[t]),e.$store.commit("setCurrentUser",t),e.backgroundPreview=null})).catch(this.displayUploadError).finally((function(){e.backgroundUploading=!1})))},displayUploadError:function(t){this.$store.dispatch("pushGlobalNotice",{messageKey:"upload.error.message",messageArgs:[t.message],level:"error"})}}};var he=function(t){s(647)},ve=Object(c.a)(me,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"profile-tab"},[s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.name_bio")))]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.name")))]),t._v(" "),s("EmojiInput",{attrs:{"enable-emoji-picker":"",suggest:t.emojiSuggestor},model:{value:t.newName,callback:function(e){t.newName=e},expression:"newName"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.newName,expression:"newName"}],staticClass:"name-changer",attrs:{id:"username"},domProps:{value:t.newName},on:{input:function(e){e.target.composing||(t.newName=e.target.value)}}})]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.bio")))]),t._v(" "),s("EmojiInput",{attrs:{"enable-emoji-picker":"",suggest:t.emojiUserSuggestor},model:{value:t.newBio,callback:function(e){t.newBio=e},expression:"newBio"}},[s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.newBio,expression:"newBio"}],staticClass:"bio resize-height",domProps:{value:t.newBio},on:{input:function(e){e.target.composing||(t.newBio=e.target.value)}}})]),t._v(" "),s("p",[s("Checkbox",{model:{value:t.newLocked,callback:function(e){t.newLocked=e},expression:"newLocked"}},[t._v("\n "+t._s(t.$t("settings.lock_account_description"))+"\n ")])],1),t._v(" "),s("div",[s("label",{attrs:{for:"default-vis"}},[t._v(t._s(t.$t("settings.default_vis")))]),t._v(" "),s("div",{staticClass:"visibility-tray",attrs:{id:"default-vis"}},[s("scope-selector",{attrs:{"show-all":!0,"user-default":t.newDefaultScope,"initial-scope":t.newDefaultScope,"on-scope-change":t.changeVis}})],1)]),t._v(" "),s("p",[s("Checkbox",{model:{value:t.newNoRichText,callback:function(e){t.newNoRichText=e},expression:"newNoRichText"}},[t._v("\n "+t._s(t.$t("settings.no_rich_text_description"))+"\n ")])],1),t._v(" "),s("p",[s("Checkbox",{model:{value:t.hideFollows,callback:function(e){t.hideFollows=e},expression:"hideFollows"}},[t._v("\n "+t._s(t.$t("settings.hide_follows_description"))+"\n ")])],1),t._v(" "),s("p",{staticClass:"setting-subitem"},[s("Checkbox",{attrs:{disabled:!t.hideFollows},model:{value:t.hideFollowsCount,callback:function(e){t.hideFollowsCount=e},expression:"hideFollowsCount"}},[t._v("\n "+t._s(t.$t("settings.hide_follows_count_description"))+"\n ")])],1),t._v(" "),s("p",[s("Checkbox",{model:{value:t.hideFollowers,callback:function(e){t.hideFollowers=e},expression:"hideFollowers"}},[t._v("\n "+t._s(t.$t("settings.hide_followers_description"))+"\n ")])],1),t._v(" "),s("p",{staticClass:"setting-subitem"},[s("Checkbox",{attrs:{disabled:!t.hideFollowers},model:{value:t.hideFollowersCount,callback:function(e){t.hideFollowersCount=e},expression:"hideFollowersCount"}},[t._v("\n "+t._s(t.$t("settings.hide_followers_count_description"))+"\n ")])],1),t._v(" "),s("p",[s("Checkbox",{model:{value:t.allowFollowingMove,callback:function(e){t.allowFollowingMove=e},expression:"allowFollowingMove"}},[t._v("\n "+t._s(t.$t("settings.allow_following_move"))+"\n ")])],1),t._v(" "),"admin"===t.role||"moderator"===t.role?s("p",[s("Checkbox",{model:{value:t.showRole,callback:function(e){t.showRole=e},expression:"showRole"}},["admin"===t.role?[t._v("\n "+t._s(t.$t("settings.show_admin_badge"))+"\n ")]:t._e(),t._v(" "),"moderator"===t.role?[t._v("\n "+t._s(t.$t("settings.show_moderator_badge"))+"\n ")]:t._e()],2)],1):t._e(),t._v(" "),s("p",[s("Checkbox",{model:{value:t.discoverable,callback:function(e){t.discoverable=e},expression:"discoverable"}},[t._v("\n "+t._s(t.$t("settings.discoverable"))+"\n ")])],1),t._v(" "),t.maxFields>0?s("div",[s("p",[t._v(t._s(t.$t("settings.profile_fields.label")))]),t._v(" "),t._l(t.newFields,(function(e,n){return s("div",{key:n,staticClass:"profile-fields"},[s("EmojiInput",{attrs:{"enable-emoji-picker":"","hide-emoji-button":"",suggest:t.userSuggestor},model:{value:t.newFields[n].name,callback:function(e){t.$set(t.newFields[n],"name",e)},expression:"newFields[i].name"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.newFields[n].name,expression:"newFields[i].name"}],attrs:{placeholder:t.$t("settings.profile_fields.name")},domProps:{value:t.newFields[n].name},on:{input:function(e){e.target.composing||t.$set(t.newFields[n],"name",e.target.value)}}})]),t._v(" "),s("EmojiInput",{attrs:{"enable-emoji-picker":"","hide-emoji-button":"",suggest:t.userSuggestor},model:{value:t.newFields[n].value,callback:function(e){t.$set(t.newFields[n],"value",e)},expression:"newFields[i].value"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.newFields[n].value,expression:"newFields[i].value"}],attrs:{placeholder:t.$t("settings.profile_fields.value")},domProps:{value:t.newFields[n].value},on:{input:function(e){e.target.composing||t.$set(t.newFields[n],"value",e.target.value)}}})]),t._v(" "),s("button",{staticClass:"delete-field button-unstyled -hover-highlight",on:{click:function(e){return t.deleteField(n)}}},[s("FAIcon",{directives:[{name:"show",rawName:"v-show",value:t.newFields.length>1,expression:"newFields.length > 1"}],attrs:{icon:"times"}})],1)],1)})),t._v(" "),t.newFields.length0?s("li",[s("ChoiceSetting",{attrs:{id:"postContentType",path:"postContentType",options:t.postContentOptions}},[t._v("\n "+t._s(t.$t("settings.post_status_content_type"))+"\n ")])],1):t._e(),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"minimalScopesMode"}},[t._v("\n "+t._s(t.$t("settings.minimal_scopes_mode"))+"\n ")])],1),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"sensitiveByDefault"}},[t._v("\n "+t._s(t.$t("settings.sensitive_by_default"))+"\n ")])],1),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"autohideFloatingPostButton"}},[t._v("\n "+t._s(t.$t("settings.autohide_floating_post_button"))+"\n ")])],1),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"padEmoji"}},[t._v("\n "+t._s(t.$t("settings.pad_emoji"))+"\n ")])],1)])]),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.attachments")))]),t._v(" "),s("ul",{staticClass:"setting-list"},[s("li",[s("BooleanSetting",{attrs:{path:"hideAttachments"}},[t._v("\n "+t._s(t.$t("settings.hide_attachments_in_tl"))+"\n ")])],1),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"hideAttachmentsInConv"}},[t._v("\n "+t._s(t.$t("settings.hide_attachments_in_convo"))+"\n ")])],1),t._v(" "),s("li",[s("label",{attrs:{for:"maxThumbnails"}},[t._v("\n "+t._s(t.$t("settings.max_thumbnails"))+"\n ")]),t._v(" "),s("input",{staticClass:"number-input",attrs:{id:"maxThumbnails","path.number":"maxThumbnails",type:"number",min:"0",step:"1"}})]),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"hideNsfw"}},[t._v("\n "+t._s(t.$t("settings.nsfw_clickthrough"))+"\n ")])],1),t._v(" "),s("ul",{staticClass:"setting-list suboptions"},[s("li",[s("BooleanSetting",{attrs:{path:"preloadImage",disabled:!t.hideNsfw}},[t._v("\n "+t._s(t.$t("settings.preload_images"))+"\n ")])],1),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"useOneClickNsfw",disabled:!t.hideNsfw}},[t._v("\n "+t._s(t.$t("settings.use_one_click_nsfw"))+"\n ")])],1)]),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"stopGifs"}},[t._v("\n "+t._s(t.$t("settings.stop_gifs"))+"\n ")])],1),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"loopVideo"}},[t._v("\n "+t._s(t.$t("settings.loop_video"))+"\n ")]),t._v(" "),s("ul",{staticClass:"setting-list suboptions",class:[{disabled:!t.streaming}]},[s("li",[s("BooleanSetting",{attrs:{path:"loopVideoSilentOnly",disabled:!t.loopVideo||!t.loopSilentAvailable}},[t._v("\n "+t._s(t.$t("settings.loop_video_silent_only"))+"\n ")]),t._v(" "),t.loopSilentAvailable?t._e():s("div",{staticClass:"unavailable"},[s("FAIcon",{attrs:{icon:"globe"}}),t._v("! "+t._s(t.$t("settings.limited_availability"))+"\n ")],1)],1)])],1),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"playVideosInModal"}},[t._v("\n "+t._s(t.$t("settings.play_videos_in_modal"))+"\n ")])],1),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"useContainFit"}},[t._v("\n "+t._s(t.$t("settings.use_contain_fit"))+"\n ")])],1)])]),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.notifications")))]),t._v(" "),s("ul",{staticClass:"setting-list"},[s("li",[s("BooleanSetting",{attrs:{path:"webPushNotifications"}},[t._v("\n "+t._s(t.$t("settings.enable_web_push_notifications"))+"\n ")])],1)])]),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.fun")))]),t._v(" "),s("ul",{staticClass:"setting-list"},[s("li",[s("BooleanSetting",{attrs:{path:"greentext"}},[t._v("\n "+t._s(t.$t("settings.greentext"))+"\n ")])],1)])])])}),[],!1,null,null,null).exports,ke={data:function(){var t=this.$store.state.instance;return{backendVersion:t.backendVersion,frontendVersion:t.frontendVersion}},computed:{frontendVersionLink:function(){return"https://git.pleroma.social/pleroma/pleroma-fe/commit/"+this.frontendVersion},backendVersionLink:function(){return"https://git.pleroma.social/pleroma/pleroma/commit/"+(t=this.backendVersion,(e=t.match(/-g(\w+)/i))?e[1]:"");var t,e}}},ye=Object(c.a)(ke,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{attrs:{label:t.$t("settings.version.title")}},[s("div",{staticClass:"setting-item"},[s("ul",{staticClass:"setting-list"},[s("li",[s("p",[t._v(t._s(t.$t("settings.version.backend_version")))]),t._v(" "),s("ul",{staticClass:"option-list"},[s("li",[s("a",{attrs:{href:t.backendVersionLink,target:"_blank"}},[t._v(t._s(t.backendVersion))])])])]),t._v(" "),s("li",[s("p",[t._v(t._s(t.$t("settings.version.frontend_version")))]),t._v(" "),s("ul",{staticClass:"option-list"},[s("li",[s("a",{attrs:{href:t.frontendVersionLink,target:"_blank"}},[t._v(t._s(t.frontendVersion))])])])])])])])}),[],!1,null,null,null).exports,$e=s(12),Le=s(35),Te=s(117),Oe=s(31),Pe=s(43),Se={components:{Checkbox:v.a},props:{name:{required:!0,type:String},label:{required:!0,type:String},value:{required:!1,type:String,default:void 0},fallback:{required:!1,type:String,default:void 0},disabled:{required:!1,type:Boolean,default:!1},showOptionalTickbox:{required:!1,type:Boolean,default:!0}},computed:{present:function(){return void 0!==this.value},validColor:function(){return Object($e.f)(this.value||this.fallback)},transparentColor:function(){return"transparent"===this.value},computedColor:function(){return this.value&&this.value.startsWith("--")}}};var Ie=function(t){s(655),s(657)},je=Object(c.a)(Se,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"color-input style-control",class:{disabled:!t.present||t.disabled}},[s("label",{staticClass:"label",attrs:{for:t.name}},[t._v("\n "+t._s(t.label)+"\n ")]),t._v(" "),void 0!==t.fallback&&t.showOptionalTickbox?s("Checkbox",{staticClass:"opt",attrs:{checked:t.present,disabled:t.disabled},on:{change:function(e){return t.$emit("input",void 0===t.value?t.fallback:void 0)}}}):t._e(),t._v(" "),s("div",{staticClass:"input color-input-field"},[s("input",{staticClass:"textColor unstyled",attrs:{id:t.name+"-t",type:"text",disabled:!t.present||t.disabled},domProps:{value:t.value||t.fallback},on:{input:function(e){return t.$emit("input",e.target.value)}}}),t._v(" "),t.validColor?s("input",{staticClass:"nativeColor unstyled",attrs:{id:t.name,type:"color",disabled:!t.present||t.disabled},domProps:{value:t.value||t.fallback},on:{input:function(e){return t.$emit("input",e.target.value)}}}):t._e(),t._v(" "),t.transparentColor?s("div",{staticClass:"transparentIndicator"}):t._e(),t._v(" "),t.computedColor?s("div",{staticClass:"computedIndicator",style:{backgroundColor:t.fallback}}):t._e()])],1)}),[],!1,Ie,null,null).exports,Be=Object(c.a)({props:["name","value","fallback","disabled","label","max","min","step","hardMin","hardMax"],computed:{present:function(){return void 0!==this.value}}},(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"range-control style-control",class:{disabled:!t.present||t.disabled}},[s("label",{staticClass:"label",attrs:{for:t.name}},[t._v("\n "+t._s(t.label)+"\n ")]),t._v(" "),void 0!==t.fallback?s("input",{staticClass:"opt",attrs:{id:t.name+"-o",type:"checkbox"},domProps:{checked:t.present},on:{input:function(e){return t.$emit("input",t.present?void 0:t.fallback)}}}):t._e(),t._v(" "),void 0!==t.fallback?s("label",{staticClass:"opt-l",attrs:{for:t.name+"-o"}}):t._e(),t._v(" "),s("input",{staticClass:"input-number",attrs:{id:t.name,type:"range",disabled:!t.present||t.disabled,max:t.max||t.hardMax||100,min:t.min||t.hardMin||0,step:t.step||1},domProps:{value:t.value||t.fallback},on:{input:function(e){return t.$emit("input",e.target.value)}}}),t._v(" "),s("input",{staticClass:"input-number",attrs:{id:t.name,type:"number",disabled:!t.present||t.disabled,max:t.hardMax,min:t.hardMin,step:t.step||1},domProps:{value:t.value||t.fallback},on:{input:function(e){return t.$emit("input",e.target.value)}}})])}),[],!1,null,null,null).exports,Fe={components:{Checkbox:v.a},props:["name","value","fallback","disabled"],computed:{present:function(){return void 0!==this.value}}},Re=Object(c.a)(Fe,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"opacity-control style-control",class:{disabled:!t.present||t.disabled}},[s("label",{staticClass:"label",attrs:{for:t.name}},[t._v("\n "+t._s(t.$t("settings.style.common.opacity"))+"\n ")]),t._v(" "),void 0!==t.fallback?s("Checkbox",{staticClass:"opt",attrs:{checked:t.present,disabled:t.disabled},on:{change:function(e){return t.$emit("input",t.present?void 0:t.fallback)}}}):t._e(),t._v(" "),s("input",{staticClass:"input-number",attrs:{id:t.name,type:"number",disabled:!t.present||t.disabled,max:"1",min:"0",step:".05"},domProps:{value:t.value||t.fallback},on:{input:function(e){return t.$emit("input",e.target.value)}}})],1)}),[],!1,null,null,null).exports;function Ee(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),s.push.apply(s,n)}return s}function Ae(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};return Ae({x:0,y:0,blur:0,spread:0,inset:!1,color:"#000000",alpha:1},t)},De={props:["value","fallback","ready"],data:function(){return{selectedId:0,cValue:(this.value||this.fallback||[]).map(Me)}},components:{ColorInput:je,OpacityInput:Re,Select:Lt.a},methods:{add:function(){this.cValue.push(Me(this.selected)),this.selectedId=this.cValue.length-1},del:function(){this.cValue.splice(this.selectedId,1),this.selectedId=0===this.cValue.length?void 0:Math.max(this.selectedId-1,0)},moveUp:function(){var t=this.cValue.splice(this.selectedId,1)[0];this.cValue.splice(this.selectedId-1,0,t),this.selectedId-=1},moveDn:function(){var t=this.cValue.splice(this.selectedId,1)[0];this.cValue.splice(this.selectedId+1,0,t),this.selectedId+=1}},beforeUpdate:function(){this.cValue=this.value||this.fallback},computed:{anyShadows:function(){return this.cValue.length>0},anyShadowsFallback:function(){return this.fallback.length>0},selected:function(){return this.ready&&this.anyShadows?this.cValue[this.selectedId]:Me({})},currentFallback:function(){return this.ready&&this.anyShadowsFallback?this.fallback[this.selectedId]:Me({})},moveUpValid:function(){return this.ready&&this.selectedId>0},moveDnValid:function(){return this.ready&&this.selectedId-1:t.selected.inset},on:{change:function(e){var s=t.selected.inset,n=e.target,a=!!n.checked;if(Array.isArray(s)){var o=t._i(s,null);n.checked?o<0&&t.$set(t.selected,"inset",s.concat([null])):o>-1&&t.$set(t.selected,"inset",s.slice(0,o).concat(s.slice(o+1)))}else t.$set(t.selected,"inset",a)}}}),t._v(" "),s("label",{staticClass:"checkbox-label",attrs:{for:"inset"}})]),t._v(" "),s("div",{staticClass:"blur-control style-control",attrs:{disabled:!t.present}},[s("label",{staticClass:"label",attrs:{for:"spread"}},[t._v("\n "+t._s(t.$t("settings.style.shadows.blur"))+"\n ")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.selected.blur,expression:"selected.blur"}],staticClass:"input-range",attrs:{id:"blur",disabled:!t.present,name:"blur",type:"range",max:"20",min:"0"},domProps:{value:t.selected.blur},on:{__r:function(e){return t.$set(t.selected,"blur",e.target.value)}}}),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.selected.blur,expression:"selected.blur"}],staticClass:"input-number",attrs:{disabled:!t.present,type:"number",min:"0"},domProps:{value:t.selected.blur},on:{input:function(e){e.target.composing||t.$set(t.selected,"blur",e.target.value)}}})]),t._v(" "),s("div",{staticClass:"spread-control style-control",attrs:{disabled:!t.present}},[s("label",{staticClass:"label",attrs:{for:"spread"}},[t._v("\n "+t._s(t.$t("settings.style.shadows.spread"))+"\n ")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.selected.spread,expression:"selected.spread"}],staticClass:"input-range",attrs:{id:"spread",disabled:!t.present,name:"spread",type:"range",max:"20",min:"-20"},domProps:{value:t.selected.spread},on:{__r:function(e){return t.$set(t.selected,"spread",e.target.value)}}}),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.selected.spread,expression:"selected.spread"}],staticClass:"input-number",attrs:{disabled:!t.present,type:"number"},domProps:{value:t.selected.spread},on:{input:function(e){e.target.composing||t.$set(t.selected,"spread",e.target.value)}}})]),t._v(" "),s("ColorInput",{attrs:{disabled:!t.present,label:t.$t("settings.style.common.color"),fallback:t.currentFallback.color,"show-optional-tickbox":!1,name:"shadow"},model:{value:t.selected.color,callback:function(e){t.$set(t.selected,"color",e)},expression:"selected.color"}}),t._v(" "),s("OpacityInput",{attrs:{disabled:!t.present},model:{value:t.selected.alpha,callback:function(e){t.$set(t.selected,"alpha",e)},expression:"selected.alpha"}}),t._v(" "),s("i18n",{attrs:{path:"settings.style.shadows.hintV3",tag:"p"}},[s("code",[t._v("--variable,mod")])])],1)])}),[],!1,Ue,null,null).exports,Ve={components:{Select:Lt.a},props:["name","label","value","fallback","options","no-inherit"],data:function(){return{lValue:this.value,availableOptions:[this.noInherit?"":"inherit","custom"].concat(H()(this.options||[]),["serif","monospace","sans-serif"]).filter((function(t){return t}))}},beforeUpdate:function(){this.lValue=this.value},computed:{present:function(){return void 0!==this.lValue},dValue:function(){return this.lValue||this.fallback||{}},family:{get:function(){return this.dValue.family},set:function(t){Object(J.set)(this.lValue,"family",t),this.$emit("input",this.lValue)}},isCustom:function(){return"custom"===this.preset},preset:{get:function(){return"serif"===this.family||"sans-serif"===this.family||"monospace"===this.family||"inherit"===this.family?this.family:"custom"},set:function(t){this.family="custom"===t?"":t}}}};var We=function(t){s(661)},qe=Object(c.a)(Ve,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"font-control style-control",class:{custom:t.isCustom}},[s("label",{staticClass:"label",attrs:{for:"custom"===t.preset?t.name:t.name+"-font-switcher"}},[t._v("\n "+t._s(t.label)+"\n ")]),t._v(" "),void 0!==t.fallback?s("input",{staticClass:"opt exlcude-disabled",attrs:{id:t.name+"-o",type:"checkbox"},domProps:{checked:t.present},on:{input:function(e){return t.$emit("input",void 0===t.value?t.fallback:void 0)}}}):t._e(),t._v(" "),void 0!==t.fallback?s("label",{staticClass:"opt-l",attrs:{for:t.name+"-o"}}):t._e(),t._v(" "),s("Select",{staticClass:"font-switcher",attrs:{id:t.name+"-font-switcher",disabled:!t.present},model:{value:t.preset,callback:function(e){t.preset=e},expression:"preset"}},t._l(t.availableOptions,(function(e){return s("option",{key:e,domProps:{value:e}},[t._v("\n "+t._s("custom"===e?t.$t("settings.style.fonts.custom"):e)+"\n ")])})),0),t._v(" "),t.isCustom?s("input",{directives:[{name:"model",rawName:"v-model",value:t.family,expression:"family"}],staticClass:"custom-font",attrs:{id:t.name,type:"text"},domProps:{value:t.family},on:{input:function(e){e.target.composing||(t.family=e.target.value)}}}):t._e()],1)}),[],!1,We,null,null).exports;i.c.add(r.a,r.u,r.hb);var ze={props:{large:{required:!1,type:Boolean,default:!1},contrast:{required:!1,type:Object,default:function(){return{}}}},computed:{hint:function(){var t=this.contrast.aaa?"aaa":this.contrast.aa?"aa":"bad",e=this.$t("settings.style.common.contrast.level.".concat(t)),s=this.$t("settings.style.common.contrast.context.text"),n=this.contrast.text;return this.$t("settings.style.common.contrast.hint",{level:e,context:s,ratio:n})},hint_18pt:function(){var t=this.contrast.laaa?"aaa":this.contrast.laa?"aa":"bad",e=this.$t("settings.style.common.contrast.level.".concat(t)),s=this.$t("settings.style.common.contrast.context.18pt"),n=this.contrast.text;return this.$t("settings.style.common.contrast.hint",{level:e,context:s,ratio:n})}}};var Ge=function(t){s(663)},Ke=Object(c.a)(ze,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.contrast?s("span",{staticClass:"contrast-ratio"},[s("span",{staticClass:"rating",attrs:{title:t.hint}},[t.contrast.aaa?s("span",[s("FAIcon",{attrs:{icon:"thumbs-up"}})],1):t._e(),t._v(" "),!t.contrast.aaa&&t.contrast.aa?s("span",[s("FAIcon",{attrs:{icon:"adjust"}})],1):t._e(),t._v(" "),t.contrast.aaa||t.contrast.aa?t._e():s("span",[s("FAIcon",{attrs:{icon:"exclamation-triangle"}})],1)]),t._v(" "),t.contrast&&t.large?s("span",{staticClass:"rating",attrs:{title:t.hint_18pt}},[t.contrast.laaa?s("span",[s("FAIcon",{attrs:{icon:"thumbs-up"}})],1):t._e(),t._v(" "),!t.contrast.laaa&&t.contrast.laa?s("span",[s("FAIcon",{attrs:{icon:"adjust"}})],1):t._e(),t._v(" "),t.contrast.laaa||t.contrast.laa?t._e():s("span",[s("FAIcon",{attrs:{icon:"exclamation-triangle"}})],1)]):t._e()]):t._e()}),[],!1,Ge,null,null).exports;i.c.add(r.jb,r.bb,r.T,r.S);var He=function(t){s(665)},Je=Object(c.a)({},(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"preview-container"},[s("div",{staticClass:"underlay underlay-preview"}),t._v(" "),s("div",{staticClass:"panel dummy"},[s("div",{staticClass:"panel-heading"},[s("div",{staticClass:"title"},[t._v("\n "+t._s(t.$t("settings.style.preview.header"))+"\n "),s("span",{staticClass:"badge badge-notification"},[t._v("\n 99\n ")])]),t._v(" "),s("span",{staticClass:"faint"},[t._v("\n "+t._s(t.$t("settings.style.preview.header_faint"))+"\n ")]),t._v(" "),s("span",{staticClass:"alert error"},[t._v("\n "+t._s(t.$t("settings.style.preview.error"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn button-default"},[t._v("\n "+t._s(t.$t("settings.style.preview.button"))+"\n ")])]),t._v(" "),s("div",{staticClass:"panel-body theme-preview-content"},[s("div",{staticClass:"post"},[s("div",{staticClass:"avatar still-image"},[t._v("\n ( ͡° ͜ʖ ͡°)\n ")]),t._v(" "),s("div",{staticClass:"content"},[s("h4",[t._v("\n "+t._s(t.$t("settings.style.preview.content"))+"\n ")]),t._v(" "),s("i18n",{attrs:{path:"settings.style.preview.text"}},[s("code",{staticStyle:{"font-family":"var(--postCodeFont)"}},[t._v("\n "+t._s(t.$t("settings.style.preview.mono"))+"\n ")]),t._v(" "),s("a",{staticStyle:{color:"var(--link)"}},[t._v("\n "+t._s(t.$t("settings.style.preview.link"))+"\n ")])]),t._v(" "),s("div",{staticClass:"icons"},[s("FAIcon",{staticClass:"fa-scale-110 fa-old-padding",staticStyle:{color:"var(--cBlue)"},attrs:{"fixed-width":"",icon:"reply"}}),t._v(" "),s("FAIcon",{staticClass:"fa-scale-110 fa-old-padding",staticStyle:{color:"var(--cGreen)"},attrs:{"fixed-width":"",icon:"retweet"}}),t._v(" "),s("FAIcon",{staticClass:"fa-scale-110 fa-old-padding",staticStyle:{color:"var(--cOrange)"},attrs:{"fixed-width":"",icon:"star"}}),t._v(" "),s("FAIcon",{staticClass:"fa-scale-110 fa-old-padding",staticStyle:{color:"var(--cRed)"},attrs:{"fixed-width":"",icon:"times"}})],1)],1)]),t._v(" "),s("div",{staticClass:"after-post"},[s("div",{staticClass:"avatar-alt"},[t._v("\n :^)\n ")]),t._v(" "),s("div",{staticClass:"content"},[s("i18n",{staticClass:"faint",attrs:{path:"settings.style.preview.fine_print",tag:"span"}},[s("a",{staticStyle:{color:"var(--faintLink)"}},[t._v("\n "+t._s(t.$t("settings.style.preview.faint_link"))+"\n ")])])],1)]),t._v(" "),s("div",{staticClass:"separator"}),t._v(" "),s("span",{staticClass:"alert error"},[t._v("\n "+t._s(t.$t("settings.style.preview.error"))+"\n ")]),t._v(" "),s("input",{attrs:{type:"text"},domProps:{value:t.$t("settings.style.preview.input")}}),t._v(" "),s("div",{staticClass:"actions"},[s("span",{staticClass:"checkbox"},[s("input",{attrs:{id:"preview_checkbox",checked:"very yes",type:"checkbox"}}),t._v(" "),s("label",{attrs:{for:"preview_checkbox"}},[t._v(t._s(t.$t("settings.style.preview.checkbox")))])]),t._v(" "),s("button",{staticClass:"btn button-default"},[t._v("\n "+t._s(t.$t("settings.style.preview.button"))+"\n ")])])])])])}),[],!1,He,null,null).exports;function Qe(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),s.push.apply(s,n)}return s}function Xe(t){for(var e=1;ePe.a)return t(e+"future_version_imported")+" "+t(i?e+"snapshot_missing":e+"snapshot_present");if(aPe.a)return t(e+"fe_downgraded")+" "+t(i?e+"migration_snapshot_ok":e+"migration_snapshot_gone");if(a=4.5,aaa:s>=7,laa:s>=3,laaa:s>=4.5},t}),{})}catch(t){console.warn("Failure computing contrasts",t)}},previewRules:function(){return this.preview.rules?[].concat(H()(Object.values(this.preview.rules)),["color: var(--text)","font-family: var(--interfaceFont, sans-serif)"]).join(";"):""},shadowsAvailable:function(){return Object.keys(Le.a).sort()},currentShadowOverriden:{get:function(){return!!this.currentShadow},set:function(t){t?Object(J.set)(this.shadowsLocal,this.shadowSelected,this.currentShadowFallback.map((function(t){return Object.assign({},t)}))):Object(J.delete)(this.shadowsLocal,this.shadowSelected)}},currentShadowFallback:function(){return(this.previewTheme.shadows||{})[this.shadowSelected]},currentShadow:{get:function(){return this.shadowsLocal[this.shadowSelected]},set:function(t){Object(J.set)(this.shadowsLocal,this.shadowSelected,t)}},themeValid:function(){return!this.shadowsInvalid&&!this.colorsInvalid&&!this.radiiInvalid},exportedTheme:function(){var t=!(this.keepFonts||this.keepShadows||this.keepOpacity||this.keepRoundness||this.keepColor),e={themeEngineVersion:Pe.a};return(this.keepFonts||t)&&(e.fonts=this.fontsLocal),(this.keepShadows||t)&&(e.shadows=this.shadowsLocal),(this.keepOpacity||t)&&(e.opacity=this.currentOpacity),(this.keepColor||t)&&(e.colors=this.currentColors),(this.keepRoundness||t)&&(e.radii=this.currentRadii),{_pleroma_theme_version:2,theme:Xe({themeEngineVersion:Pe.a},this.previewTheme),source:e}}},components:{ColorInput:je,OpacityInput:Re,RangeInput:Be,ContrastRatio:Ke,ShadowControl:Ne,FontControl:qe,TabSwitcher:n.a,Preview:Je,Checkbox:v.a,Select:Lt.a},methods:{loadTheme:function(t,e){var s=t.theme,n=t.source,a=t._pleroma_theme_version,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.dismissWarning(),!n&&!s)throw new Error("Can't load theme: empty");var i="localStorage"!==e||s.colors?a:"l1",r=(s||{}).themeEngineVersion,l=(n||{}).themeEngineVersion||2,c=l===Pe.a,u=void 0!==s&&void 0!==n&&l!==r,d=n&&o||!s;c&&!u||d||"l1"===i||"defaults"===e||(u&&"localStorage"===e?this.themeWarning={origin:e,themeEngineVersion:l,type:"snapshot_source_mismatch"}:s?c||(this.themeWarning={origin:e,noActionsPossible:!n,themeEngineVersion:l,type:"wrong_version"}):this.themeWarning={origin:e,noActionsPossible:!0,themeEngineVersion:l,type:"no_snapshot_old_version"}),this.normalizeLocalState(s,i,n,d)},forceLoadLocalStorage:function(){this.loadThemeFromLocalStorage(!0)},dismissWarning:function(){this.themeWarning=void 0,this.tempImportFile=void 0},forceLoad:function(){switch(this.themeWarning.origin){case"localStorage":this.loadThemeFromLocalStorage(!0);break;case"file":this.onImport(this.tempImportFile,!0)}this.dismissWarning()},forceSnapshot:function(){switch(this.themeWarning.origin){case"localStorage":this.loadThemeFromLocalStorage(!1,!0);break;case"file":console.err("Forcing snapshout from file is not supported yet")}this.dismissWarning()},loadThemeFromLocalStorage:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=this.$store.getters.mergedConfig,n=s.customTheme,a=s.customThemeSource;n||a?this.loadTheme({theme:n,source:e?n:a},"localStorage",t):this.loadTheme(this.$store.state.instance.themeData,"defaults",t)},setCustomTheme:function(){this.$store.dispatch("setOption",{name:"customTheme",value:Xe({themeEngineVersion:Pe.a},this.previewTheme)}),this.$store.dispatch("setOption",{name:"customThemeSource",value:{themeEngineVersion:Pe.a,shadows:this.shadowsLocal,fonts:this.fontsLocal,opacity:this.currentOpacity,colors:this.currentColors,radii:this.currentRadii}})},updatePreviewColorsAndShadows:function(){this.previewColors=Object(Le.e)({opacity:this.currentOpacity,colors:this.currentColors}),this.previewShadows=Object(Le.h)({shadows:this.shadowsLocal,opacity:this.previewTheme.opacity,themeEngineVersion:this.engineVersion},this.previewColors.theme.colors,this.previewColors.mod)},importTheme:function(){this.themeImporter.importData()},exportTheme:function(){this.themeExporter.exportData()},onImport:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.tempImportFile=t,this.loadTheme(t,"file",e)},onImportFailure:function(t){this.$store.dispatch("pushGlobalNotice",{messageKey:"settings.invalid_theme_imported",level:"error"})},importValidator:function(t){var e=t._pleroma_theme_version;return e>=1||e<=2},clearAll:function(){this.loadThemeFromLocalStorage()},clearV1:function(){var t=this;Object.keys(this.$data).filter((function(t){return t.endsWith("ColorLocal")||t.endsWith("OpacityLocal")})).filter((function(t){return!Ye.includes(t)})).forEach((function(e){Object(J.set)(t.$data,e,void 0)}))},clearRoundness:function(){var t=this;Object.keys(this.$data).filter((function(t){return t.endsWith("RadiusLocal")})).forEach((function(e){Object(J.set)(t.$data,e,void 0)}))},clearOpacity:function(){var t=this;Object.keys(this.$data).filter((function(t){return t.endsWith("OpacityLocal")})).forEach((function(e){Object(J.set)(t.$data,e,void 0)}))},clearShadows:function(){this.shadowsLocal={}},clearFonts:function(){this.fontsLocal={}},normalizeLocalState:function(t){var e,s=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=arguments.length>2?arguments[2]:void 0,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];void 0!==a&&(o||a.themeEngineVersion===Pe.a)?(e=a,n=a.themeEngineVersion):e=t;var i=e.radii||e,r=e.opacity,l=e.shadows||{},c=e.fonts||{},u=e.themeEngineVersion?e.colors||e:Object(Le.c)(e.colors||e);if(0===n&&(e.version&&(n=e.version),void 0===u.text&&void 0!==u.fg&&(n=1),void 0!==u.text&&void 0!==u.fg&&(n=2)),this.engineVersion=n,1===n&&(this.fgColorLocal=Object($e.i)(u.btn),this.textColorLocal=Object($e.i)(u.fg)),!this.keepColor){this.clearV1();var d=new Set(1!==n?Object.keys(Oe.c):[]);1!==n&&"l1"!==n||d.add("bg").add("link").add("cRed").add("cBlue").add("cGreen").add("cOrange"),d.forEach((function(t){var e=u[t],n=Object($e.i)(u[t]);s[t+"ColorLocal"]="#aN"===n?e:n}))}r&&!this.keepOpacity&&(this.clearOpacity(),Object.entries(r).forEach((function(t){var e=G()(t,2),n=e[0],a=e[1];null==a||Number.isNaN(a)||(s[n+"OpacityLocal"]=a)}))),this.keepRoundness||(this.clearRoundness(),Object.entries(i).forEach((function(t){var e=G()(t,2),n=e[0],a=e[1],o=n.endsWith("Radius")?n.split("Radius")[0]:n;s[o+"RadiusLocal"]=a}))),this.keepShadows||(this.clearShadows(),this.shadowsLocal=2===n?Object(Le.m)(l,this.previewTheme.opacity):l,this.shadowSelected=this.shadowsAvailable[0]),this.keepFonts||(this.clearFonts(),this.fontsLocal=c)}},watch:{currentRadii:function(){try{this.previewRadii=Object(Le.g)({radii:this.currentRadii}),this.radiiInvalid=!1}catch(t){this.radiiInvalid=!0,console.warn(t)}},shadowsLocal:{handler:function(){if(1!==Object.getOwnPropertyNames(this.previewColors).length)try{this.updatePreviewColorsAndShadows(),this.shadowsInvalid=!1}catch(t){this.shadowsInvalid=!0,console.warn(t)}},deep:!0},fontsLocal:{handler:function(){try{this.previewFonts=Object(Le.f)({fonts:this.fontsLocal}),this.fontsInvalid=!1}catch(t){this.fontsInvalid=!0,console.warn(t)}},deep:!0},currentColors:function(){try{this.updatePreviewColorsAndShadows(),this.colorsInvalid=!1,this.shadowsInvalid=!1}catch(t){this.colorsInvalid=!0,this.shadowsInvalid=!0,console.warn(t)}},currentOpacity:function(){try{this.updatePreviewColorsAndShadows()}catch(t){console.warn(t)}},selected:function(){var t=this;this.selectedTheme=Object.entries(this.availableStyles).find((function(e){var s=G()(e,2),n=(s[0],s[1]);return Array.isArray(n)?(console.log(n[0]===t.selected,t.selected),n[0]===t.selected):n.name===t.selected}))[1]},selectedTheme:function(){this.dismissWarning(),1===this.selectedVersion?(this.keepRoundness||this.clearRoundness(),this.keepShadows||this.clearShadows(),this.keepOpacity||this.clearOpacity(),this.keepColor||(this.clearV1(),this.bgColorLocal=this.selectedTheme[1],this.fgColorLocal=this.selectedTheme[2],this.textColorLocal=this.selectedTheme[3],this.linkColorLocal=this.selectedTheme[4],this.cRedColorLocal=this.selectedTheme[5],this.cGreenColorLocal=this.selectedTheme[6],this.cBlueColorLocal=this.selectedTheme[7],this.cOrangeColorLocal=this.selectedTheme[8])):this.selectedVersion>=2&&this.normalizeLocalState(this.selectedTheme.theme,2,this.selectedTheme.source)}}};var ts=function(t){s(653)},es=Object(c.a)(Ze,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"theme-tab"},[s("div",{staticClass:"presets-container"},[s("div",{staticClass:"save-load"},[t.themeWarning?s("div",{staticClass:"theme-warning"},[s("div",{staticClass:"alert warning"},[t._v("\n "+t._s(t.themeWarningHelp)+"\n ")]),t._v(" "),s("div",{staticClass:"buttons"},["snapshot_source_mismatch"===t.themeWarning.type?[s("button",{staticClass:"btn button-default",on:{click:t.forceLoad}},[t._v("\n "+t._s(t.$t("settings.style.switcher.use_source"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.forceSnapshot}},[t._v("\n "+t._s(t.$t("settings.style.switcher.use_snapshot"))+"\n ")])]:t.themeWarning.noActionsPossible?[s("button",{staticClass:"btn button-default",on:{click:t.dismissWarning}},[t._v("\n "+t._s(t.$t("general.dismiss"))+"\n ")])]:[s("button",{staticClass:"btn button-default",on:{click:t.forceLoad}},[t._v("\n "+t._s(t.$t("settings.style.switcher.load_theme"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.dismissWarning}},[t._v("\n "+t._s(t.$t("settings.style.switcher.keep_as_is"))+"\n ")])]],2)]):t._e(),t._v(" "),s("div",{staticClass:"top"},[s("div",{staticClass:"presets"},[t._v("\n "+t._s(t.$t("settings.presets"))+"\n "),s("label",{staticClass:"select",attrs:{for:"preset-switcher"}},[s("Select",{staticClass:"preset-switcher",attrs:{id:"preset-switcher"},model:{value:t.selected,callback:function(e){t.selected=e},expression:"selected"}},t._l(t.availableStyles,(function(e){return s("option",{key:e.name,style:{backgroundColor:e[1]||(e.theme||e.source).colors.bg,color:e[3]||(e.theme||e.source).colors.text},domProps:{value:e.name||e[0]}},[t._v("\n "+t._s(e[0]||e.name)+"\n ")])})),0)],1)]),t._v(" "),s("div",{staticClass:"export-import"},[s("button",{staticClass:"btn button-default",on:{click:t.importTheme}},[t._v("\n "+t._s(t.$t("settings.import_theme"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.exportTheme}},[t._v("\n "+t._s(t.$t("settings.export_theme"))+"\n ")])])])]),t._v(" "),s("div",{staticClass:"save-load-options"},[s("span",{staticClass:"keep-option"},[s("Checkbox",{model:{value:t.keepColor,callback:function(e){t.keepColor=e},expression:"keepColor"}},[t._v("\n "+t._s(t.$t("settings.style.switcher.keep_color"))+"\n ")])],1),t._v(" "),s("span",{staticClass:"keep-option"},[s("Checkbox",{model:{value:t.keepShadows,callback:function(e){t.keepShadows=e},expression:"keepShadows"}},[t._v("\n "+t._s(t.$t("settings.style.switcher.keep_shadows"))+"\n ")])],1),t._v(" "),s("span",{staticClass:"keep-option"},[s("Checkbox",{model:{value:t.keepOpacity,callback:function(e){t.keepOpacity=e},expression:"keepOpacity"}},[t._v("\n "+t._s(t.$t("settings.style.switcher.keep_opacity"))+"\n ")])],1),t._v(" "),s("span",{staticClass:"keep-option"},[s("Checkbox",{model:{value:t.keepRoundness,callback:function(e){t.keepRoundness=e},expression:"keepRoundness"}},[t._v("\n "+t._s(t.$t("settings.style.switcher.keep_roundness"))+"\n ")])],1),t._v(" "),s("span",{staticClass:"keep-option"},[s("Checkbox",{model:{value:t.keepFonts,callback:function(e){t.keepFonts=e},expression:"keepFonts"}},[t._v("\n "+t._s(t.$t("settings.style.switcher.keep_fonts"))+"\n ")])],1),t._v(" "),s("p",[t._v(t._s(t.$t("settings.style.switcher.save_load_hint")))])])]),t._v(" "),s("preview",{style:t.previewRules}),t._v(" "),s("keep-alive",[s("tab-switcher",{key:"style-tweak"},[s("div",{staticClass:"color-container",attrs:{label:t.$t("settings.style.common_colors._tab_label")}},[s("div",{staticClass:"tab-header"},[s("p",[t._v(t._s(t.$t("settings.theme_help")))]),t._v(" "),s("div",{staticClass:"tab-header-buttons"},[s("button",{staticClass:"btn button-default",on:{click:t.clearOpacity}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_opacity"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.clearV1}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_all"))+"\n ")])])]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.theme_help_v2_1")))]),t._v(" "),s("h4",[t._v(t._s(t.$t("settings.style.common_colors.main")))]),t._v(" "),s("div",{staticClass:"color-item"},[s("ColorInput",{attrs:{name:"bgColor",label:t.$t("settings.background")},model:{value:t.bgColorLocal,callback:function(e){t.bgColorLocal=e},expression:"bgColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"bgOpacity",fallback:t.previewTheme.opacity.bg},model:{value:t.bgOpacityLocal,callback:function(e){t.bgOpacityLocal=e},expression:"bgOpacityLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"textColor",label:t.$t("settings.text")},model:{value:t.textColorLocal,callback:function(e){t.textColorLocal=e},expression:"textColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.bgText}}),t._v(" "),s("ColorInput",{attrs:{name:"accentColor",fallback:t.previewTheme.colors.link,label:t.$t("settings.accent"),"show-optional-tickbox":void 0!==t.linkColorLocal},model:{value:t.accentColorLocal,callback:function(e){t.accentColorLocal=e},expression:"accentColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"linkColor",fallback:t.previewTheme.colors.accent,label:t.$t("settings.links"),"show-optional-tickbox":void 0!==t.accentColorLocal},model:{value:t.linkColorLocal,callback:function(e){t.linkColorLocal=e},expression:"linkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.bgLink}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("ColorInput",{attrs:{name:"fgColor",label:t.$t("settings.foreground")},model:{value:t.fgColorLocal,callback:function(e){t.fgColorLocal=e},expression:"fgColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"fgTextColor",label:t.$t("settings.text"),fallback:t.previewTheme.colors.fgText},model:{value:t.fgTextColorLocal,callback:function(e){t.fgTextColorLocal=e},expression:"fgTextColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"fgLinkColor",label:t.$t("settings.links"),fallback:t.previewTheme.colors.fgLink},model:{value:t.fgLinkColorLocal,callback:function(e){t.fgLinkColorLocal=e},expression:"fgLinkColorLocal"}}),t._v(" "),s("p",[t._v(t._s(t.$t("settings.style.common_colors.foreground_hint")))])],1),t._v(" "),s("h4",[t._v(t._s(t.$t("settings.style.common_colors.rgbo")))]),t._v(" "),s("div",{staticClass:"color-item"},[s("ColorInput",{attrs:{name:"cRedColor",label:t.$t("settings.cRed")},model:{value:t.cRedColorLocal,callback:function(e){t.cRedColorLocal=e},expression:"cRedColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.bgCRed}}),t._v(" "),s("ColorInput",{attrs:{name:"cBlueColor",label:t.$t("settings.cBlue")},model:{value:t.cBlueColorLocal,callback:function(e){t.cBlueColorLocal=e},expression:"cBlueColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.bgCBlue}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("ColorInput",{attrs:{name:"cGreenColor",label:t.$t("settings.cGreen")},model:{value:t.cGreenColorLocal,callback:function(e){t.cGreenColorLocal=e},expression:"cGreenColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.bgCGreen}}),t._v(" "),s("ColorInput",{attrs:{name:"cOrangeColor",label:t.$t("settings.cOrange")},model:{value:t.cOrangeColorLocal,callback:function(e){t.cOrangeColorLocal=e},expression:"cOrangeColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.bgCOrange}})],1),t._v(" "),s("p",[t._v(t._s(t.$t("settings.theme_help_v2_2")))])]),t._v(" "),s("div",{staticClass:"color-container",attrs:{label:t.$t("settings.style.advanced_colors._tab_label")}},[s("div",{staticClass:"tab-header"},[s("p",[t._v(t._s(t.$t("settings.theme_help")))]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.clearOpacity}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_opacity"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.clearV1}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_all"))+"\n ")])]),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.post")))]),t._v(" "),s("ColorInput",{attrs:{name:"postLinkColor",fallback:t.previewTheme.colors.accent,label:t.$t("settings.links")},model:{value:t.postLinkColorLocal,callback:function(e){t.postLinkColorLocal=e},expression:"postLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.postLink}}),t._v(" "),s("ColorInput",{attrs:{name:"postGreentextColor",fallback:t.previewTheme.colors.cGreen,label:t.$t("settings.greentext")},model:{value:t.postGreentextColorLocal,callback:function(e){t.postGreentextColorLocal=e},expression:"postGreentextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.postGreentext}}),t._v(" "),s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.alert")))]),t._v(" "),s("ColorInput",{attrs:{name:"alertError",label:t.$t("settings.style.advanced_colors.alert_error"),fallback:t.previewTheme.colors.alertError},model:{value:t.alertErrorColorLocal,callback:function(e){t.alertErrorColorLocal=e},expression:"alertErrorColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"alertErrorText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.alertErrorText},model:{value:t.alertErrorTextColorLocal,callback:function(e){t.alertErrorTextColorLocal=e},expression:"alertErrorTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.alertErrorText,large:""}}),t._v(" "),s("ColorInput",{attrs:{name:"alertWarning",label:t.$t("settings.style.advanced_colors.alert_warning"),fallback:t.previewTheme.colors.alertWarning},model:{value:t.alertWarningColorLocal,callback:function(e){t.alertWarningColorLocal=e},expression:"alertWarningColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"alertWarningText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.alertWarningText},model:{value:t.alertWarningTextColorLocal,callback:function(e){t.alertWarningTextColorLocal=e},expression:"alertWarningTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.alertWarningText,large:""}}),t._v(" "),s("ColorInput",{attrs:{name:"alertNeutral",label:t.$t("settings.style.advanced_colors.alert_neutral"),fallback:t.previewTheme.colors.alertNeutral},model:{value:t.alertNeutralColorLocal,callback:function(e){t.alertNeutralColorLocal=e},expression:"alertNeutralColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"alertNeutralText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.alertNeutralText},model:{value:t.alertNeutralTextColorLocal,callback:function(e){t.alertNeutralTextColorLocal=e},expression:"alertNeutralTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.alertNeutralText,large:""}}),t._v(" "),s("OpacityInput",{attrs:{name:"alertOpacity",fallback:t.previewTheme.opacity.alert},model:{value:t.alertOpacityLocal,callback:function(e){t.alertOpacityLocal=e},expression:"alertOpacityLocal"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.badge")))]),t._v(" "),s("ColorInput",{attrs:{name:"badgeNotification",label:t.$t("settings.style.advanced_colors.badge_notification"),fallback:t.previewTheme.colors.badgeNotification},model:{value:t.badgeNotificationColorLocal,callback:function(e){t.badgeNotificationColorLocal=e},expression:"badgeNotificationColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"badgeNotificationText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.badgeNotificationText},model:{value:t.badgeNotificationTextColorLocal,callback:function(e){t.badgeNotificationTextColorLocal=e},expression:"badgeNotificationTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.badgeNotificationText,large:""}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.panel_header")))]),t._v(" "),s("ColorInput",{attrs:{name:"panelColor",fallback:t.previewTheme.colors.panel,label:t.$t("settings.background")},model:{value:t.panelColorLocal,callback:function(e){t.panelColorLocal=e},expression:"panelColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"panelOpacity",fallback:t.previewTheme.opacity.panel,disabled:"transparent"===t.panelColorLocal},model:{value:t.panelOpacityLocal,callback:function(e){t.panelOpacityLocal=e},expression:"panelOpacityLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"panelTextColor",fallback:t.previewTheme.colors.panelText,label:t.$t("settings.text")},model:{value:t.panelTextColorLocal,callback:function(e){t.panelTextColorLocal=e},expression:"panelTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.panelText,large:""}}),t._v(" "),s("ColorInput",{attrs:{name:"panelLinkColor",fallback:t.previewTheme.colors.panelLink,label:t.$t("settings.links")},model:{value:t.panelLinkColorLocal,callback:function(e){t.panelLinkColorLocal=e},expression:"panelLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.panelLink,large:""}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.top_bar")))]),t._v(" "),s("ColorInput",{attrs:{name:"topBarColor",fallback:t.previewTheme.colors.topBar,label:t.$t("settings.background")},model:{value:t.topBarColorLocal,callback:function(e){t.topBarColorLocal=e},expression:"topBarColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"topBarTextColor",fallback:t.previewTheme.colors.topBarText,label:t.$t("settings.text")},model:{value:t.topBarTextColorLocal,callback:function(e){t.topBarTextColorLocal=e},expression:"topBarTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.topBarText}}),t._v(" "),s("ColorInput",{attrs:{name:"topBarLinkColor",fallback:t.previewTheme.colors.topBarLink,label:t.$t("settings.links")},model:{value:t.topBarLinkColorLocal,callback:function(e){t.topBarLinkColorLocal=e},expression:"topBarLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.topBarLink}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.inputs")))]),t._v(" "),s("ColorInput",{attrs:{name:"inputColor",fallback:t.previewTheme.colors.input,label:t.$t("settings.background")},model:{value:t.inputColorLocal,callback:function(e){t.inputColorLocal=e},expression:"inputColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"inputOpacity",fallback:t.previewTheme.opacity.input,disabled:"transparent"===t.inputColorLocal},model:{value:t.inputOpacityLocal,callback:function(e){t.inputOpacityLocal=e},expression:"inputOpacityLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"inputTextColor",fallback:t.previewTheme.colors.inputText,label:t.$t("settings.text")},model:{value:t.inputTextColorLocal,callback:function(e){t.inputTextColorLocal=e},expression:"inputTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.inputText}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.buttons")))]),t._v(" "),s("ColorInput",{attrs:{name:"btnColor",fallback:t.previewTheme.colors.btn,label:t.$t("settings.background")},model:{value:t.btnColorLocal,callback:function(e){t.btnColorLocal=e},expression:"btnColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"btnOpacity",fallback:t.previewTheme.opacity.btn,disabled:"transparent"===t.btnColorLocal},model:{value:t.btnOpacityLocal,callback:function(e){t.btnOpacityLocal=e},expression:"btnOpacityLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"btnTextColor",fallback:t.previewTheme.colors.btnText,label:t.$t("settings.text")},model:{value:t.btnTextColorLocal,callback:function(e){t.btnTextColorLocal=e},expression:"btnTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnText}}),t._v(" "),s("ColorInput",{attrs:{name:"btnPanelTextColor",fallback:t.previewTheme.colors.btnPanelText,label:t.$t("settings.style.advanced_colors.panel_header")},model:{value:t.btnPanelTextColorLocal,callback:function(e){t.btnPanelTextColorLocal=e},expression:"btnPanelTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnPanelText}}),t._v(" "),s("ColorInput",{attrs:{name:"btnTopBarTextColor",fallback:t.previewTheme.colors.btnTopBarText,label:t.$t("settings.style.advanced_colors.top_bar")},model:{value:t.btnTopBarTextColorLocal,callback:function(e){t.btnTopBarTextColorLocal=e},expression:"btnTopBarTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnTopBarText}}),t._v(" "),s("h5",[t._v(t._s(t.$t("settings.style.advanced_colors.pressed")))]),t._v(" "),s("ColorInput",{attrs:{name:"btnPressedColor",fallback:t.previewTheme.colors.btnPressed,label:t.$t("settings.background")},model:{value:t.btnPressedColorLocal,callback:function(e){t.btnPressedColorLocal=e},expression:"btnPressedColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"btnPressedTextColor",fallback:t.previewTheme.colors.btnPressedText,label:t.$t("settings.text")},model:{value:t.btnPressedTextColorLocal,callback:function(e){t.btnPressedTextColorLocal=e},expression:"btnPressedTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnPressedText}}),t._v(" "),s("ColorInput",{attrs:{name:"btnPressedPanelTextColor",fallback:t.previewTheme.colors.btnPressedPanelText,label:t.$t("settings.style.advanced_colors.panel_header")},model:{value:t.btnPressedPanelTextColorLocal,callback:function(e){t.btnPressedPanelTextColorLocal=e},expression:"btnPressedPanelTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnPressedPanelText}}),t._v(" "),s("ColorInput",{attrs:{name:"btnPressedTopBarTextColor",fallback:t.previewTheme.colors.btnPressedTopBarText,label:t.$t("settings.style.advanced_colors.top_bar")},model:{value:t.btnPressedTopBarTextColorLocal,callback:function(e){t.btnPressedTopBarTextColorLocal=e},expression:"btnPressedTopBarTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnPressedTopBarText}}),t._v(" "),s("h5",[t._v(t._s(t.$t("settings.style.advanced_colors.disabled")))]),t._v(" "),s("ColorInput",{attrs:{name:"btnDisabledColor",fallback:t.previewTheme.colors.btnDisabled,label:t.$t("settings.background")},model:{value:t.btnDisabledColorLocal,callback:function(e){t.btnDisabledColorLocal=e},expression:"btnDisabledColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"btnDisabledTextColor",fallback:t.previewTheme.colors.btnDisabledText,label:t.$t("settings.text")},model:{value:t.btnDisabledTextColorLocal,callback:function(e){t.btnDisabledTextColorLocal=e},expression:"btnDisabledTextColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"btnDisabledPanelTextColor",fallback:t.previewTheme.colors.btnDisabledPanelText,label:t.$t("settings.style.advanced_colors.panel_header")},model:{value:t.btnDisabledPanelTextColorLocal,callback:function(e){t.btnDisabledPanelTextColorLocal=e},expression:"btnDisabledPanelTextColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"btnDisabledTopBarTextColor",fallback:t.previewTheme.colors.btnDisabledTopBarText,label:t.$t("settings.style.advanced_colors.top_bar")},model:{value:t.btnDisabledTopBarTextColorLocal,callback:function(e){t.btnDisabledTopBarTextColorLocal=e},expression:"btnDisabledTopBarTextColorLocal"}}),t._v(" "),s("h5",[t._v(t._s(t.$t("settings.style.advanced_colors.toggled")))]),t._v(" "),s("ColorInput",{attrs:{name:"btnToggledColor",fallback:t.previewTheme.colors.btnToggled,label:t.$t("settings.background")},model:{value:t.btnToggledColorLocal,callback:function(e){t.btnToggledColorLocal=e},expression:"btnToggledColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"btnToggledTextColor",fallback:t.previewTheme.colors.btnToggledText,label:t.$t("settings.text")},model:{value:t.btnToggledTextColorLocal,callback:function(e){t.btnToggledTextColorLocal=e},expression:"btnToggledTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnToggledText}}),t._v(" "),s("ColorInput",{attrs:{name:"btnToggledPanelTextColor",fallback:t.previewTheme.colors.btnToggledPanelText,label:t.$t("settings.style.advanced_colors.panel_header")},model:{value:t.btnToggledPanelTextColorLocal,callback:function(e){t.btnToggledPanelTextColorLocal=e},expression:"btnToggledPanelTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnToggledPanelText}}),t._v(" "),s("ColorInput",{attrs:{name:"btnToggledTopBarTextColor",fallback:t.previewTheme.colors.btnToggledTopBarText,label:t.$t("settings.style.advanced_colors.top_bar")},model:{value:t.btnToggledTopBarTextColorLocal,callback:function(e){t.btnToggledTopBarTextColorLocal=e},expression:"btnToggledTopBarTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnToggledTopBarText}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.tabs")))]),t._v(" "),s("ColorInput",{attrs:{name:"tabColor",fallback:t.previewTheme.colors.tab,label:t.$t("settings.background")},model:{value:t.tabColorLocal,callback:function(e){t.tabColorLocal=e},expression:"tabColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"tabTextColor",fallback:t.previewTheme.colors.tabText,label:t.$t("settings.text")},model:{value:t.tabTextColorLocal,callback:function(e){t.tabTextColorLocal=e},expression:"tabTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.tabText}}),t._v(" "),s("ColorInput",{attrs:{name:"tabActiveTextColor",fallback:t.previewTheme.colors.tabActiveText,label:t.$t("settings.text")},model:{value:t.tabActiveTextColorLocal,callback:function(e){t.tabActiveTextColorLocal=e},expression:"tabActiveTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.tabActiveText}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.borders")))]),t._v(" "),s("ColorInput",{attrs:{name:"borderColor",fallback:t.previewTheme.colors.border,label:t.$t("settings.style.common.color")},model:{value:t.borderColorLocal,callback:function(e){t.borderColorLocal=e},expression:"borderColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"borderOpacity",fallback:t.previewTheme.opacity.border,disabled:"transparent"===t.borderColorLocal},model:{value:t.borderOpacityLocal,callback:function(e){t.borderOpacityLocal=e},expression:"borderOpacityLocal"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.faint_text")))]),t._v(" "),s("ColorInput",{attrs:{name:"faintColor",fallback:t.previewTheme.colors.faint,label:t.$t("settings.text")},model:{value:t.faintColorLocal,callback:function(e){t.faintColorLocal=e},expression:"faintColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"faintLinkColor",fallback:t.previewTheme.colors.faintLink,label:t.$t("settings.links")},model:{value:t.faintLinkColorLocal,callback:function(e){t.faintLinkColorLocal=e},expression:"faintLinkColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"panelFaintColor",fallback:t.previewTheme.colors.panelFaint,label:t.$t("settings.style.advanced_colors.panel_header")},model:{value:t.panelFaintColorLocal,callback:function(e){t.panelFaintColorLocal=e},expression:"panelFaintColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"faintOpacity",fallback:t.previewTheme.opacity.faint},model:{value:t.faintOpacityLocal,callback:function(e){t.faintOpacityLocal=e},expression:"faintOpacityLocal"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.underlay")))]),t._v(" "),s("ColorInput",{attrs:{name:"underlay",label:t.$t("settings.style.advanced_colors.underlay"),fallback:t.previewTheme.colors.underlay},model:{value:t.underlayColorLocal,callback:function(e){t.underlayColorLocal=e},expression:"underlayColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"underlayOpacity",fallback:t.previewTheme.opacity.underlay,disabled:"transparent"===t.underlayOpacityLocal},model:{value:t.underlayOpacityLocal,callback:function(e){t.underlayOpacityLocal=e},expression:"underlayOpacityLocal"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.wallpaper")))]),t._v(" "),s("ColorInput",{attrs:{name:"wallpaper",label:t.$t("settings.style.advanced_colors.wallpaper"),fallback:t.previewTheme.colors.wallpaper},model:{value:t.wallpaperColorLocal,callback:function(e){t.wallpaperColorLocal=e},expression:"wallpaperColorLocal"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.poll")))]),t._v(" "),s("ColorInput",{attrs:{name:"poll",label:t.$t("settings.background"),fallback:t.previewTheme.colors.poll},model:{value:t.pollColorLocal,callback:function(e){t.pollColorLocal=e},expression:"pollColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"pollText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.pollText},model:{value:t.pollTextColorLocal,callback:function(e){t.pollTextColorLocal=e},expression:"pollTextColorLocal"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.icons")))]),t._v(" "),s("ColorInput",{attrs:{name:"icon",label:t.$t("settings.style.advanced_colors.icons"),fallback:t.previewTheme.colors.icon},model:{value:t.iconColorLocal,callback:function(e){t.iconColorLocal=e},expression:"iconColorLocal"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.highlight")))]),t._v(" "),s("ColorInput",{attrs:{name:"highlight",label:t.$t("settings.background"),fallback:t.previewTheme.colors.highlight},model:{value:t.highlightColorLocal,callback:function(e){t.highlightColorLocal=e},expression:"highlightColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"highlightText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.highlightText},model:{value:t.highlightTextColorLocal,callback:function(e){t.highlightTextColorLocal=e},expression:"highlightTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.highlightText}}),t._v(" "),s("ColorInput",{attrs:{name:"highlightLink",label:t.$t("settings.links"),fallback:t.previewTheme.colors.highlightLink},model:{value:t.highlightLinkColorLocal,callback:function(e){t.highlightLinkColorLocal=e},expression:"highlightLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.highlightLink}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.popover")))]),t._v(" "),s("ColorInput",{attrs:{name:"popover",label:t.$t("settings.background"),fallback:t.previewTheme.colors.popover},model:{value:t.popoverColorLocal,callback:function(e){t.popoverColorLocal=e},expression:"popoverColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"popoverOpacity",fallback:t.previewTheme.opacity.popover,disabled:"transparent"===t.popoverOpacityLocal},model:{value:t.popoverOpacityLocal,callback:function(e){t.popoverOpacityLocal=e},expression:"popoverOpacityLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"popoverText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.popoverText},model:{value:t.popoverTextColorLocal,callback:function(e){t.popoverTextColorLocal=e},expression:"popoverTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.popoverText}}),t._v(" "),s("ColorInput",{attrs:{name:"popoverLink",label:t.$t("settings.links"),fallback:t.previewTheme.colors.popoverLink},model:{value:t.popoverLinkColorLocal,callback:function(e){t.popoverLinkColorLocal=e},expression:"popoverLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.popoverLink}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.selectedPost")))]),t._v(" "),s("ColorInput",{attrs:{name:"selectedPost",label:t.$t("settings.background"),fallback:t.previewTheme.colors.selectedPost},model:{value:t.selectedPostColorLocal,callback:function(e){t.selectedPostColorLocal=e},expression:"selectedPostColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"selectedPostText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.selectedPostText},model:{value:t.selectedPostTextColorLocal,callback:function(e){t.selectedPostTextColorLocal=e},expression:"selectedPostTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.selectedPostText}}),t._v(" "),s("ColorInput",{attrs:{name:"selectedPostLink",label:t.$t("settings.links"),fallback:t.previewTheme.colors.selectedPostLink},model:{value:t.selectedPostLinkColorLocal,callback:function(e){t.selectedPostLinkColorLocal=e},expression:"selectedPostLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.selectedPostLink}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.selectedMenu")))]),t._v(" "),s("ColorInput",{attrs:{name:"selectedMenu",label:t.$t("settings.background"),fallback:t.previewTheme.colors.selectedMenu},model:{value:t.selectedMenuColorLocal,callback:function(e){t.selectedMenuColorLocal=e},expression:"selectedMenuColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"selectedMenuText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.selectedMenuText},model:{value:t.selectedMenuTextColorLocal,callback:function(e){t.selectedMenuTextColorLocal=e},expression:"selectedMenuTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.selectedMenuText}}),t._v(" "),s("ColorInput",{attrs:{name:"selectedMenuLink",label:t.$t("settings.links"),fallback:t.previewTheme.colors.selectedMenuLink},model:{value:t.selectedMenuLinkColorLocal,callback:function(e){t.selectedMenuLinkColorLocal=e},expression:"selectedMenuLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.selectedMenuLink}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("chats.chats")))]),t._v(" "),s("ColorInput",{attrs:{name:"chatBgColor",fallback:t.previewTheme.colors.bg,label:t.$t("settings.background")},model:{value:t.chatBgColorLocal,callback:function(e){t.chatBgColorLocal=e},expression:"chatBgColorLocal"}}),t._v(" "),s("h5",[t._v(t._s(t.$t("settings.style.advanced_colors.chat.incoming")))]),t._v(" "),s("ColorInput",{attrs:{name:"chatMessageIncomingBgColor",fallback:t.previewTheme.colors.bg,label:t.$t("settings.background")},model:{value:t.chatMessageIncomingBgColorLocal,callback:function(e){t.chatMessageIncomingBgColorLocal=e},expression:"chatMessageIncomingBgColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"chatMessageIncomingTextColor",fallback:t.previewTheme.colors.text,label:t.$t("settings.text")},model:{value:t.chatMessageIncomingTextColorLocal,callback:function(e){t.chatMessageIncomingTextColorLocal=e},expression:"chatMessageIncomingTextColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"chatMessageIncomingLinkColor",fallback:t.previewTheme.colors.link,label:t.$t("settings.links")},model:{value:t.chatMessageIncomingLinkColorLocal,callback:function(e){t.chatMessageIncomingLinkColorLocal=e},expression:"chatMessageIncomingLinkColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"chatMessageIncomingBorderLinkColor",fallback:t.previewTheme.colors.fg,label:t.$t("settings.style.advanced_colors.chat.border")},model:{value:t.chatMessageIncomingBorderColorLocal,callback:function(e){t.chatMessageIncomingBorderColorLocal=e},expression:"chatMessageIncomingBorderColorLocal"}}),t._v(" "),s("h5",[t._v(t._s(t.$t("settings.style.advanced_colors.chat.outgoing")))]),t._v(" "),s("ColorInput",{attrs:{name:"chatMessageOutgoingBgColor",fallback:t.previewTheme.colors.bg,label:t.$t("settings.background")},model:{value:t.chatMessageOutgoingBgColorLocal,callback:function(e){t.chatMessageOutgoingBgColorLocal=e},expression:"chatMessageOutgoingBgColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"chatMessageOutgoingTextColor",fallback:t.previewTheme.colors.text,label:t.$t("settings.text")},model:{value:t.chatMessageOutgoingTextColorLocal,callback:function(e){t.chatMessageOutgoingTextColorLocal=e},expression:"chatMessageOutgoingTextColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"chatMessageOutgoingLinkColor",fallback:t.previewTheme.colors.link,label:t.$t("settings.links")},model:{value:t.chatMessageOutgoingLinkColorLocal,callback:function(e){t.chatMessageOutgoingLinkColorLocal=e},expression:"chatMessageOutgoingLinkColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"chatMessageOutgoingBorderLinkColor",fallback:t.previewTheme.colors.bg,label:t.$t("settings.style.advanced_colors.chat.border")},model:{value:t.chatMessageOutgoingBorderColorLocal,callback:function(e){t.chatMessageOutgoingBorderColorLocal=e},expression:"chatMessageOutgoingBorderColorLocal"}})],1)]),t._v(" "),s("div",{staticClass:"radius-container",attrs:{label:t.$t("settings.style.radii._tab_label")}},[s("div",{staticClass:"tab-header"},[s("p",[t._v(t._s(t.$t("settings.radii_help")))]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.clearRoundness}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_all"))+"\n ")])]),t._v(" "),s("RangeInput",{attrs:{name:"btnRadius",label:t.$t("settings.btnRadius"),fallback:t.previewTheme.radii.btn,max:"16","hard-min":"0"},model:{value:t.btnRadiusLocal,callback:function(e){t.btnRadiusLocal=e},expression:"btnRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"inputRadius",label:t.$t("settings.inputRadius"),fallback:t.previewTheme.radii.input,max:"9","hard-min":"0"},model:{value:t.inputRadiusLocal,callback:function(e){t.inputRadiusLocal=e},expression:"inputRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"checkboxRadius",label:t.$t("settings.checkboxRadius"),fallback:t.previewTheme.radii.checkbox,max:"16","hard-min":"0"},model:{value:t.checkboxRadiusLocal,callback:function(e){t.checkboxRadiusLocal=e},expression:"checkboxRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"panelRadius",label:t.$t("settings.panelRadius"),fallback:t.previewTheme.radii.panel,max:"50","hard-min":"0"},model:{value:t.panelRadiusLocal,callback:function(e){t.panelRadiusLocal=e},expression:"panelRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"avatarRadius",label:t.$t("settings.avatarRadius"),fallback:t.previewTheme.radii.avatar,max:"28","hard-min":"0"},model:{value:t.avatarRadiusLocal,callback:function(e){t.avatarRadiusLocal=e},expression:"avatarRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"avatarAltRadius",label:t.$t("settings.avatarAltRadius"),fallback:t.previewTheme.radii.avatarAlt,max:"28","hard-min":"0"},model:{value:t.avatarAltRadiusLocal,callback:function(e){t.avatarAltRadiusLocal=e},expression:"avatarAltRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"attachmentRadius",label:t.$t("settings.attachmentRadius"),fallback:t.previewTheme.radii.attachment,max:"50","hard-min":"0"},model:{value:t.attachmentRadiusLocal,callback:function(e){t.attachmentRadiusLocal=e},expression:"attachmentRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"tooltipRadius",label:t.$t("settings.tooltipRadius"),fallback:t.previewTheme.radii.tooltip,max:"50","hard-min":"0"},model:{value:t.tooltipRadiusLocal,callback:function(e){t.tooltipRadiusLocal=e},expression:"tooltipRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"chatMessageRadius",label:t.$t("settings.chatMessageRadius"),fallback:t.previewTheme.radii.chatMessage||2,max:"50","hard-min":"0"},model:{value:t.chatMessageRadiusLocal,callback:function(e){t.chatMessageRadiusLocal=e},expression:"chatMessageRadiusLocal"}})],1),t._v(" "),s("div",{staticClass:"shadow-container",attrs:{label:t.$t("settings.style.shadows._tab_label")}},[s("div",{staticClass:"tab-header shadow-selector"},[s("div",{staticClass:"select-container"},[t._v("\n "+t._s(t.$t("settings.style.shadows.component"))+"\n "),s("Select",{staticClass:"shadow-switcher",attrs:{id:"shadow-switcher"},model:{value:t.shadowSelected,callback:function(e){t.shadowSelected=e},expression:"shadowSelected"}},t._l(t.shadowsAvailable,(function(e){return s("option",{key:e,domProps:{value:e}},[t._v("\n "+t._s(t.$t("settings.style.shadows.components."+e))+"\n ")])})),0)],1),t._v(" "),s("div",{staticClass:"override"},[s("label",{staticClass:"label",attrs:{for:"override"}},[t._v("\n "+t._s(t.$t("settings.style.shadows.override"))+"\n ")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.currentShadowOverriden,expression:"currentShadowOverriden"}],staticClass:"input-override",attrs:{id:"override",name:"override",type:"checkbox"},domProps:{checked:Array.isArray(t.currentShadowOverriden)?t._i(t.currentShadowOverriden,null)>-1:t.currentShadowOverriden},on:{change:function(e){var s=t.currentShadowOverriden,n=e.target,a=!!n.checked;if(Array.isArray(s)){var o=t._i(s,null);n.checked?o<0&&(t.currentShadowOverriden=s.concat([null])):o>-1&&(t.currentShadowOverriden=s.slice(0,o).concat(s.slice(o+1)))}else t.currentShadowOverriden=a}}}),t._v(" "),s("label",{staticClass:"checkbox-label",attrs:{for:"override"}})]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.clearShadows}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_all"))+"\n ")])]),t._v(" "),s("ShadowControl",{attrs:{ready:!!t.currentShadowFallback,fallback:t.currentShadowFallback},model:{value:t.currentShadow,callback:function(e){t.currentShadow=e},expression:"currentShadow"}}),t._v(" "),"avatar"===t.shadowSelected||"avatarStatus"===t.shadowSelected?s("div",[s("i18n",{attrs:{path:"settings.style.shadows.filter_hint.always_drop_shadow",tag:"p"}},[s("code",[t._v("filter: drop-shadow()")])]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.style.shadows.filter_hint.avatar_inset")))]),t._v(" "),s("i18n",{attrs:{path:"settings.style.shadows.filter_hint.drop_shadow_syntax",tag:"p"}},[s("code",[t._v("drop-shadow")]),t._v(" "),s("code",[t._v("spread-radius")]),t._v(" "),s("code",[t._v("inset")])]),t._v(" "),s("i18n",{attrs:{path:"settings.style.shadows.filter_hint.inset_classic",tag:"p"}},[s("code",[t._v("box-shadow")])]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.style.shadows.filter_hint.spread_zero")))])],1):t._e()],1),t._v(" "),s("div",{staticClass:"fonts-container",attrs:{label:t.$t("settings.style.fonts._tab_label")}},[s("div",{staticClass:"tab-header"},[s("p",[t._v(t._s(t.$t("settings.style.fonts.help")))]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.clearFonts}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_all"))+"\n ")])]),t._v(" "),s("FontControl",{attrs:{name:"ui",label:t.$t("settings.style.fonts.components.interface"),fallback:t.previewTheme.fonts.interface,"no-inherit":"1"},model:{value:t.fontsLocal.interface,callback:function(e){t.$set(t.fontsLocal,"interface",e)},expression:"fontsLocal.interface"}}),t._v(" "),s("FontControl",{attrs:{name:"input",label:t.$t("settings.style.fonts.components.input"),fallback:t.previewTheme.fonts.input},model:{value:t.fontsLocal.input,callback:function(e){t.$set(t.fontsLocal,"input",e)},expression:"fontsLocal.input"}}),t._v(" "),s("FontControl",{attrs:{name:"post",label:t.$t("settings.style.fonts.components.post"),fallback:t.previewTheme.fonts.post},model:{value:t.fontsLocal.post,callback:function(e){t.$set(t.fontsLocal,"post",e)},expression:"fontsLocal.post"}}),t._v(" "),s("FontControl",{attrs:{name:"postCode",label:t.$t("settings.style.fonts.components.postCode"),fallback:t.previewTheme.fonts.postCode},model:{value:t.fontsLocal.postCode,callback:function(e){t.$set(t.fontsLocal,"postCode",e)},expression:"fontsLocal.postCode"}})],1)])],1),t._v(" "),s("div",{staticClass:"apply-container"},[s("button",{staticClass:"btn button-default submit",attrs:{disabled:!t.themeValid},on:{click:t.setCustomTheme}},[t._v("\n "+t._s(t.$t("general.apply"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.clearAll}},[t._v("\n "+t._s(t.$t("settings.style.switcher.reset"))+"\n ")])])],1)}),[],!1,ts,null,null).exports;i.c.add(r.pb,r.lb,r.B,r.M,r.d,r.p,r.x,r.G);var ss={components:{TabSwitcher:n.a,DataImportExportTab:_,MutesAndBlocksTab:ct,NotificationsTab:dt,FilteringTab:Et,SecurityTab:Yt,ProfileTab:ve,GeneralTab:xe,VersionTab:ye,ThemeTab:es},computed:{isLoggedIn:function(){return!!this.$store.state.users.currentUser},open:function(){return"hidden"!==this.$store.state.interface.settingsModalState}},methods:{onOpen:function(){var t=this.$store.state.interface.settingsModalTargetTab;if(t){var e=this.$refs.tabSwitcher.$slots.default.findIndex((function(e){return e.data&&e.data.attrs["data-tab-name"]===t}));e>=0&&this.$refs.tabSwitcher.setTab(e)}this.$store.dispatch("clearSettingsModalTargetTab")}},mounted:function(){this.onOpen()},watch:{open:function(t){t&&this.onOpen()}}};var ns=function(t){s(616)},as=Object(c.a)(ss,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("tab-switcher",{ref:"tabSwitcher",staticClass:"settings_tab-switcher",attrs:{"side-tab-bar":!0,"scrollable-tabs":!0}},[s("div",{attrs:{label:t.$t("settings.general"),icon:"wrench","data-tab-name":"general"}},[s("GeneralTab")],1),t._v(" "),t.isLoggedIn?s("div",{attrs:{label:t.$t("settings.profile_tab"),icon:"user","data-tab-name":"profile"}},[s("ProfileTab")],1):t._e(),t._v(" "),t.isLoggedIn?s("div",{attrs:{label:t.$t("settings.security_tab"),icon:"lock","data-tab-name":"security"}},[s("SecurityTab")],1):t._e(),t._v(" "),s("div",{attrs:{label:t.$t("settings.filtering"),icon:"filter","data-tab-name":"filtering"}},[s("FilteringTab")],1),t._v(" "),s("div",{attrs:{label:t.$t("settings.theme"),icon:"paint-brush","data-tab-name":"theme"}},[s("ThemeTab")],1),t._v(" "),t.isLoggedIn?s("div",{attrs:{label:t.$t("settings.notifications"),icon:"bell","data-tab-name":"notifications"}},[s("NotificationsTab")],1):t._e(),t._v(" "),t.isLoggedIn?s("div",{attrs:{label:t.$t("settings.data_import_export_tab"),icon:"download","data-tab-name":"dataImportExport"}},[s("DataImportExportTab")],1):t._e(),t._v(" "),t.isLoggedIn?s("div",{attrs:{label:t.$t("settings.mutes_and_blocks"),fullHeight:!0,icon:"eye-slash","data-tab-name":"mutesAndBlocks"}},[s("MutesAndBlocksTab")],1):t._e(),t._v(" "),s("div",{attrs:{label:t.$t("settings.version.title"),icon:"info","data-tab-name":"version"}},[s("VersionTab")],1)])}),[],!1,ns,null,null);e.default=as.exports}}]); -//# sourceMappingURL=2.5f3ceb7bdf08fadacf00.js.map \ No newline at end of file diff --git a/priv/static/static/js/2.5f3ceb7bdf08fadacf00.js.map b/priv/static/static/js/2.5f3ceb7bdf08fadacf00.js.map deleted file mode 100644 index 06d872608..000000000 --- a/priv/static/static/js/2.5f3ceb7bdf08fadacf00.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["webpack:///./src/components/settings_modal/settings_modal_content.scss?d424","webpack:///./src/components/settings_modal/settings_modal_content.scss","webpack:///./src/components/importer/importer.vue?7798","webpack:///./src/components/importer/importer.vue?6af6","webpack:///./src/components/exporter/exporter.vue?dea3","webpack:///./src/components/exporter/exporter.vue?cc2b","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.scss?4d0c","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.scss","webpack:///./src/components/autosuggest/autosuggest.vue?9908","webpack:///./src/components/autosuggest/autosuggest.vue?9383","webpack:///./src/components/block_card/block_card.vue?7ad7","webpack:///./src/components/block_card/block_card.vue?ddc8","webpack:///./src/components/mute_card/mute_card.vue?c72f","webpack:///./src/components/mute_card/mute_card.vue?1268","webpack:///./src/components/domain_mute_card/domain_mute_card.vue?a613","webpack:///./src/components/domain_mute_card/domain_mute_card.vue?c85e","webpack:///./src/components/selectable_list/selectable_list.vue?a6e3","webpack:///./src/components/selectable_list/selectable_list.vue?c2f8","webpack:///./src/components/settings_modal/helpers/modified_indicator.vue?c223","webpack:///./src/components/settings_modal/helpers/modified_indicator.vue?81f6","webpack:///./src/components/settings_modal/helpers/choice_setting.vue?44d1","webpack:///./src/components/settings_modal/helpers/choice_setting.vue?17b7","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.vue?540b","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.vue?cd9f","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue?da3d","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue?57b8","webpack:///./src/components/settings_modal/tabs/profile_tab.scss?588b","webpack:///./src/components/settings_modal/tabs/profile_tab.scss","webpack:///./src/components/image_cropper/image_cropper.vue?f169","webpack:///./src/components/image_cropper/image_cropper.vue?6235","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.scss?080d","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.scss","webpack:///./src/components/color_input/color_input.scss?c457","webpack:///./src/components/color_input/color_input.scss","webpack:///./src/components/color_input/color_input.vue?6a4c","webpack:///./src/components/color_input/color_input.vue?bb22","webpack:///./src/components/shadow_control/shadow_control.vue?bfd4","webpack:///./src/components/shadow_control/shadow_control.vue?78ef","webpack:///./src/components/font_control/font_control.vue?5f33","webpack:///./src/components/font_control/font_control.vue?bef4","webpack:///./src/components/contrast_ratio/contrast_ratio.vue?a340","webpack:///./src/components/contrast_ratio/contrast_ratio.vue?32fa","webpack:///./src/components/settings_modal/tabs/theme_tab/preview.vue?1ae8","webpack:///./src/components/settings_modal/tabs/theme_tab/preview.vue?ab81","webpack:///./src/components/importer/importer.js","webpack:///./src/components/importer/importer.vue","webpack:///./src/components/importer/importer.vue?11c1","webpack:///./src/components/exporter/exporter.js","webpack:///./src/components/exporter/exporter.vue","webpack:///./src/components/exporter/exporter.vue?8ccc","webpack:///./src/components/settings_modal/tabs/data_import_export_tab.js","webpack:///./src/components/settings_modal/tabs/data_import_export_tab.vue","webpack:///./src/components/settings_modal/tabs/data_import_export_tab.vue?eb14","webpack:///./src/components/autosuggest/autosuggest.js","webpack:///./src/components/autosuggest/autosuggest.vue","webpack:///./src/components/autosuggest/autosuggest.vue?b400","webpack:///./src/components/block_card/block_card.js","webpack:///./src/components/block_card/block_card.vue","webpack:///./src/components/block_card/block_card.vue?c0ce","webpack:///./src/components/mute_card/mute_card.js","webpack:///./src/components/mute_card/mute_card.vue","webpack:///./src/components/mute_card/mute_card.vue?1fcb","webpack:///./src/components/domain_mute_card/domain_mute_card.js","webpack:///./src/components/domain_mute_card/domain_mute_card.vue","webpack:///./src/components/domain_mute_card/domain_mute_card.vue?bd8a","webpack:///./src/components/selectable_list/selectable_list.js","webpack:///./src/components/selectable_list/selectable_list.vue","webpack:///./src/components/selectable_list/selectable_list.vue?012d","webpack:///./src/hocs/with_subscription/with_subscription.js","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.js","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.vue","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.vue?ef8c","webpack:///./src/components/settings_modal/tabs/notifications_tab.js","webpack:///./src/components/settings_modal/tabs/notifications_tab.vue","webpack:///./src/components/settings_modal/tabs/notifications_tab.vue?79e8","webpack:///src/components/settings_modal/helpers/modified_indicator.vue","webpack:///./src/components/settings_modal/helpers/modified_indicator.vue","webpack:///./src/components/settings_modal/helpers/modified_indicator.vue?e06d","webpack:///./src/components/settings_modal/helpers/boolean_setting.js","webpack:///./src/components/settings_modal/helpers/boolean_setting.vue","webpack:///./src/components/settings_modal/helpers/boolean_setting.vue?03b6","webpack:///./src/components/settings_modal/helpers/choice_setting.js","webpack:///./src/components/settings_modal/helpers/choice_setting.vue","webpack:///./src/components/settings_modal/helpers/choice_setting.vue?bf0a","webpack:///./src/components/settings_modal/helpers/shared_computed_object.js","webpack:///./src/components/settings_modal/tabs/filtering_tab.js","webpack:///./src/components/settings_modal/tabs/filtering_tab.vue","webpack:///./src/components/settings_modal/tabs/filtering_tab.vue?8eaf","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.js","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue?198f","webpack:///./src/components/settings_modal/tabs/security_tab/confirm.js","webpack:///./src/components/settings_modal/tabs/security_tab/confirm.vue","webpack:///./src/components/settings_modal/tabs/security_tab/confirm.vue?14b1","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_totp.js","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.js","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_totp.vue","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_totp.vue?5e8d","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.vue","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.vue?ab3a","webpack:///./src/components/settings_modal/tabs/security_tab/security_tab.js","webpack:///./src/components/settings_modal/tabs/security_tab/security_tab.vue","webpack:///./src/components/settings_modal/tabs/security_tab/security_tab.vue?2be5","webpack:///./src/components/image_cropper/image_cropper.js","webpack:///./src/components/image_cropper/image_cropper.vue","webpack:///./src/components/image_cropper/image_cropper.vue?f953","webpack:///./src/components/settings_modal/tabs/profile_tab.js","webpack:///./src/components/settings_modal/tabs/profile_tab.vue","webpack:///./src/components/settings_modal/tabs/profile_tab.vue?cec7","webpack:///src/components/interface_language_switcher/interface_language_switcher.vue","webpack:///./src/components/interface_language_switcher/interface_language_switcher.vue","webpack:///./src/components/interface_language_switcher/interface_language_switcher.vue?f146","webpack:///./src/components/settings_modal/tabs/general_tab.js","webpack:///./src/components/settings_modal/tabs/general_tab.vue","webpack:///./src/components/settings_modal/tabs/general_tab.vue?f786","webpack:///./src/components/settings_modal/tabs/version_tab.js","webpack:///./src/services/version/version.service.js","webpack:///./src/components/settings_modal/tabs/version_tab.vue","webpack:///./src/components/settings_modal/tabs/version_tab.vue?7cbe","webpack:///src/components/color_input/color_input.vue","webpack:///./src/components/color_input/color_input.vue","webpack:///./src/components/color_input/color_input.vue?3d5b","webpack:///./src/components/range_input/range_input.vue","webpack:///src/components/range_input/range_input.vue","webpack:///./src/components/range_input/range_input.vue?202a","webpack:///src/components/opacity_input/opacity_input.vue","webpack:///./src/components/opacity_input/opacity_input.vue","webpack:///./src/components/opacity_input/opacity_input.vue?0078","webpack:///./src/components/shadow_control/shadow_control.js","webpack:///./src/components/shadow_control/shadow_control.vue","webpack:///./src/components/shadow_control/shadow_control.vue?1399","webpack:///./src/components/font_control/font_control.js","webpack:///./src/components/font_control/font_control.vue","webpack:///./src/components/font_control/font_control.vue?b0ba","webpack:///src/components/contrast_ratio/contrast_ratio.vue","webpack:///./src/components/contrast_ratio/contrast_ratio.vue","webpack:///./src/components/contrast_ratio/contrast_ratio.vue?dc36","webpack:///src/components/settings_modal/tabs/theme_tab/preview.vue","webpack:///./src/components/settings_modal/tabs/theme_tab/preview.vue","webpack:///./src/components/settings_modal/tabs/theme_tab/preview.vue?f344","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.js","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.vue","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.vue?8594","webpack:///./src/components/settings_modal/settings_modal_content.js","webpack:///./src/components/settings_modal/settings_modal_content.vue","webpack:///./src/components/settings_modal/settings_modal_content.vue?277c"],"names":["content","module","i","locals","exports","add","default","push","library","faCircleNotch","faTimes","Importer","props","submitHandler","type","Function","required","submitButtonLabel","String","this","$t","successMessage","errorMessage","data","file","error","success","submitting","methods","change","$refs","input","files","submit","dismiss","then","__vue_styles__","context","_vm","_h","$createElement","_c","_self","staticClass","ref","attrs","on","_v","_s","_e","Exporter","getContent","filename","exportButtonLabel","processingMessage","processing","process","fileToDownload","document","createElement","setAttribute","encodeURIComponent","style","display","body","appendChild","click","removeChild","setTimeout","DataImportExportTab","activeTab","newDomainToMute","created","$store","dispatch","components","Checkbox","computed","mapState","backendInteractor","state","api","user","users","currentUser","getFollowsContent","exportFriends","id","generateExportableUsersContent","getBlocksContent","fetchBlocks","getMutesContent","fetchMutes","importFollows","status","Error","importBlocks","importMutes","map","is_local","screen_name","location","hostname","join","query","filter","placeholder","term","timeout","results","resultsVisible","filtered","watch","val","fetchResults","clearTimeout","onInputClick","onClickOutside","directives","name","rawName","value","expression","domProps","$event","target","composing","length","_l","item","_t","BlockCard","progress","getters","findUser","userId","relationship","blocked","blocking","BasicUserCard","unblockUser","blockUser","MuteCard","muted","muting","unmuteUser","muteUser","DomainMuteCard","ProgressButton","domainMutes","includes","domain","unmuteDomain","muteDomain","scopedSlots","_u","key","fn","proxy","SelectableList","List","items","Array","getKey","selected","allKeys","filteredSelected","indexOf","allSelected","noneSelected","someSelected","isSelected","toggle","checked","splice","toggleAll","slice","class","withSubscription","fetch","select","childPropName","additionalPropNames","WrappedComponent","Object","keys","getComponentProps","v","concat","Vue","component","loading","fetchedData","$props","refresh","isEmpty","fetchData","render","h","$listeners","$scopedSlots","children","entries","$slots","slot","BlockList","get","MuteList","DomainMuteList","MutesAndBlocks","TabSwitcher","Autosuggest","knownDomains","instance","activateTab","tabName","filterUnblockedUsers","userIds","reject","filterUnMutedUsers","queryUserIds","blockUsers","ids","unblockUsers","muteUsers","unmuteUsers","filterUnMutedDomains","urls","url","queryKnownDomains","Promise","resolve","toLowerCase","unmuteDomains","domains","row","NotificationsTab","notificationSettings","notification_settings","updateNotificationSettings","settings","model","callback","$$v","$set","ModifiedIndicator","pathDefault","path","split","firstSegment","rest","$parent","undefined","defaultState","isChanged","update","e","disabled","Select","option","label","SharedComputedObject","configDefaultState","defaultConfig","reduce","acc","mergedConfig","set","useStreamingApi","console","FilteringTab","muteWordsStringLocal","muteWords","replyVisibilityOptions","mode","BooleanSetting","ChoiceSetting","muteWordsString","word","notificationVisibility","handler","deep","replyVisibility","backupCodes","inProgress","codes","ready","displayTitle","code","Confirm","confirm","$emit","cancel","currentPassword","deactivate","isActivated","totp","doActivate","cancelDeactivate","doDeactivate","confirmDeactivate","mfaDisableOTP","password","res","Mfa","available","enabled","setupState","setupOTPState","getNewCodes","otpSettings","provisioning_uri","otpConfirmToken","readyInit","RecoveryCodes","VueQrcode","canSetupOTP","setupInProgress","backupCodesPrepared","setupOTPInProgress","completedOTP","prepareOTP","confirmOTP","confirmNewBackupCodes","activateOTP","fetchBackupCodes","generateMfaBackupCodes","getBackupCodes","confirmBackupCodes","cancelBackupCodes","setupOTP","mfaSetupOTP","doConfirmOTP","mfaConfirmOTP","token","completeSetup","fetchSettings","cancelSetup","settingsMFA","result","mounted","width","SecurityTab","newEmail","changeEmailError","changeEmailPassword","changedEmail","deletingAccount","deleteAccountConfirmPasswordInput","deleteAccountError","changePasswordInputs","changedPassword","changePasswordError","pleromaBackend","oauthTokens","tokens","oauthToken","appName","app_name","validUntil","Date","valid_until","toLocaleDateString","localeService","internalToBrowserLocale","$i18n","locale","confirmDelete","deleteAccount","$router","changePassword","params","newPassword","newPasswordConfirmation","logout","changeEmail","email","replace","revokeToken","window","t","ImageCropper","trigger","Element","cropperOptions","aspectRatio","autoCropArea","viewMode","movable","zoomable","guides","mimes","saveButtonLabel","saveWithoutCroppingButtonlabel","cancelButtonLabel","cropper","dataUrl","saveText","saveWithoutCroppingText","cancelText","destroy","cropping","pickImage","createCropper","Cropper","img","getTriggerDOM","querySelector","readFile","fileInput","reader","FileReader","onload","readAsDataURL","addEventListener","beforeDestroy","removeEventListener","stopPropagation","faPlus","ProfileTab","newName","newBio","unescape","description","newLocked","locked","newNoRichText","no_rich_text","newDefaultScope","default_scope","newFields","fields","field","hideFollows","hide_follows","hideFollowers","hide_followers","hideFollowsCount","hide_follows_count","hideFollowersCount","hide_followers_count","showRole","show_role","role","discoverable","bot","allowFollowingMove","allow_following_move","pickAvatarBtnVisible","bannerUploading","backgroundUploading","banner","bannerPreview","background","backgroundPreview","ScopeSelector","EmojiInput","emojiUserSuggestor","suggestor","emoji","customEmoji","store","emojiSuggestor","userSuggestor","fieldsLimits","maxFields","defaultAvatar","server","defaultBanner","isDefaultAvatar","baseAvatar","profile_image_url","isDefaultBanner","baseBanner","cover_photo","isDefaultBackground","background_image","avatarImgSrc","src","profile_image_url_original","bannerImgSrc","updateProfile","note","display_name","fields_attributes","el","merge","commit","changeVis","visibility","addField","deleteField","index","event","$delete","uploadFile","size","filesize","fileSizeFormatService","fileSizeFormat","allowedsize","messageKey","messageArgs","num","filesizeunit","unit","allowedsizeunit","level","resetAvatar","submitAvatar","resetBanner","submitBanner","resetBackground","submitBackground","that","updateAvatar","avatar","updateProfileImages","displayUploadError","getCroppedCanvas","toBlob","message","_","languages","language","getLanguageName","languageName","charAt","toLocaleUpperCase","browserLocale","lang","faGlobe","GeneralTab","subjectLineOptions","loopSilentAvailable","getOwnPropertyDescriptor","HTMLVideoElement","prototype","HTMLMediaElement","InterfaceLanguageSwitcher","postFormats","postContentOptions","format","instanceSpecificPanelPresent","showInstanceSpecificPanel","instanceWallpaperUsed","instanceShoutboxPresent","shoutAvailable","streaming","hideNsfw","loopVideo","VersionTab","backendVersion","frontendVersion","frontendVersionLink","backendVersionLink","versionString","matches","match","fallback","Boolean","showOptionalTickbox","present","validColor","transparentColor","computedColor","startsWith","backgroundColor","max","hardMax","min","hardMin","step","faChevronDown","faChevronUp","toModel","object","x","y","blur","spread","inset","color","alpha","selectedId","cValue","ColorInput","OpacityInput","del","Math","moveUp","moveDn","beforeUpdate","anyShadows","anyShadowsFallback","currentFallback","moveUpValid","moveDnValid","usingFallback","rgb","hex2rgb","boxShadow","getCssShadow","shadow","isArray","_i","$$a","$$el","$$c","$$i","lValue","availableOptions","noInherit","options","dValue","family","isCustom","preset","custom","large","contrast","hint","hint_18pt","aaa","aa","laaa","laa","staticStyle","v1OnlyNames","themeImporter","newImporter","validator","importValidator","onImport","onImportFailure","themeExporter","newExporter","getExportedObject","exportedTheme","availableStyles","selectedTheme","theme","themeWarning","tempImportFile","engineVersion","previewShadows","previewColors","previewRadii","previewFonts","shadowsInvalid","colorsInvalid","radiiInvalid","keepColor","keepShadows","keepOpacity","keepRoundness","keepFonts","SLOT_INHERITANCE","OPACITIES","shadowSelected","shadowsLocal","fontsLocal","btnRadiusLocal","inputRadiusLocal","checkboxRadiusLocal","panelRadiusLocal","avatarRadiusLocal","avatarAltRadiusLocal","attachmentRadiusLocal","tooltipRadiusLocal","chatMessageRadiusLocal","self","getThemes","promises","all","k","themes","themesComplete","loadThemeFromLocalStorage","shadowsAvailable","themeWarningHelp","pre","origin","themeEngineVersion","noActionsPossible","CURRENT_VERSION","selectedVersion","currentColors","currentOpacity","currentRadii","btn","checkbox","panel","avatarAlt","tooltip","attachment","chatMessage","preview","composePreset","previewTheme","colors","opacity","radii","shadows","fonts","previewContrast","bg","colorsConverted","ratios","slotIsBaseText","textColor","layer","variant","opacitySlot","getOpacitySlot","textColors","layers","getLayers","textColorKey","newKey","toUpperCase","getContrastRatioLayers","ratio","text","toPrecision","warn","previewRules","rules","values","DEFAULT_SHADOWS","sort","currentShadowOverriden","currentShadow","currentShadowFallback","assign","themeValid","saveEverything","source","_pleroma_theme_version","RangeInput","ContrastRatio","ShadowControl","FontControl","Preview","loadTheme","fileVersion","forceUseSource","dismissWarning","version","snapshotEngineVersion","versionsMatch","sourceSnapshotMismatch","forcedSourceLoad","normalizeLocalState","forceLoadLocalStorage","forceLoad","forceSnapshot","err","confirmLoadSource","customTheme","customThemeSource","themeData","setCustomTheme","updatePreviewColorsAndShadows","generateColors","generateShadows","mod","importTheme","importData","exportTheme","exportData","parsed","forceSource","clearAll","clearV1","$data","endsWith","forEach","clearRoundness","clearOpacity","clearShadows","clearFonts","colors2to3","fg","fgColorLocal","rgb2hex","textColorLocal","Set","hex","Number","isNaN","shadows2to3","generateRadii","getOwnPropertyNames","generateFonts","fontsInvalid","find","s","log","bgColorLocal","linkColorLocal","cRedColorLocal","cGreenColorLocal","cBlueColorLocal","cOrangeColorLocal","bgOpacityLocal","bgText","link","accentColorLocal","accent","bgLink","fgText","fgTextColorLocal","fgLink","fgLinkColorLocal","bgCRed","bgCBlue","bgCGreen","bgCOrange","postLinkColorLocal","postLink","cGreen","postGreentextColorLocal","postGreentext","alertError","alertErrorColorLocal","alertErrorText","alertErrorTextColorLocal","alertWarning","alertWarningColorLocal","alertWarningText","alertWarningTextColorLocal","alertNeutral","alertNeutralColorLocal","alertNeutralText","alertNeutralTextColorLocal","alert","alertOpacityLocal","badgeNotification","badgeNotificationColorLocal","badgeNotificationText","badgeNotificationTextColorLocal","panelColorLocal","panelOpacityLocal","panelText","panelTextColorLocal","panelLink","panelLinkColorLocal","topBar","topBarColorLocal","topBarText","topBarTextColorLocal","topBarLink","topBarLinkColorLocal","inputColorLocal","inputOpacityLocal","inputText","inputTextColorLocal","btnColorLocal","btnOpacityLocal","btnText","btnTextColorLocal","btnPanelText","btnPanelTextColorLocal","btnTopBarText","btnTopBarTextColorLocal","btnPressed","btnPressedColorLocal","btnPressedText","btnPressedTextColorLocal","btnPressedPanelText","btnPressedPanelTextColorLocal","btnPressedTopBarText","btnPressedTopBarTextColorLocal","btnDisabled","btnDisabledColorLocal","btnDisabledText","btnDisabledTextColorLocal","btnDisabledPanelText","btnDisabledPanelTextColorLocal","btnDisabledTopBarText","btnDisabledTopBarTextColorLocal","btnToggled","btnToggledColorLocal","btnToggledText","btnToggledTextColorLocal","btnToggledPanelText","btnToggledPanelTextColorLocal","btnToggledTopBarText","btnToggledTopBarTextColorLocal","tab","tabColorLocal","tabText","tabTextColorLocal","tabActiveText","tabActiveTextColorLocal","border","borderColorLocal","borderOpacityLocal","faint","faintColorLocal","faintLink","faintLinkColorLocal","panelFaint","panelFaintColorLocal","faintOpacityLocal","underlay","underlayColorLocal","underlayOpacityLocal","wallpaper","wallpaperColorLocal","poll","pollColorLocal","pollText","pollTextColorLocal","icon","iconColorLocal","highlight","highlightColorLocal","highlightText","highlightTextColorLocal","highlightLink","highlightLinkColorLocal","popover","popoverColorLocal","popoverOpacityLocal","popoverText","popoverTextColorLocal","popoverLink","popoverLinkColorLocal","selectedPost","selectedPostColorLocal","selectedPostText","selectedPostTextColorLocal","selectedPostLink","selectedPostLinkColorLocal","selectedMenu","selectedMenuColorLocal","selectedMenuText","selectedMenuTextColorLocal","selectedMenuLink","selectedMenuLinkColorLocal","chatBgColorLocal","chatMessageIncomingBgColorLocal","chatMessageIncomingTextColorLocal","chatMessageIncomingLinkColorLocal","chatMessageIncomingBorderColorLocal","chatMessageOutgoingBgColorLocal","chatMessageOutgoingTextColorLocal","chatMessageOutgoingLinkColorLocal","chatMessageOutgoingBorderColorLocal","interface","post","postCode","faWrench","faUser","faFilter","faPaintBrush","faBell","faDownload","faEyeSlash","faInfo","SettingsModalContent","MutesAndBlocksTab","ThemeTab","isLoggedIn","open","settingsModalState","onOpen","targetTab","settingsModalTargetTab","tabIndex","tabSwitcher","findIndex","elm","setTab"],"mappings":"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","file":"static/js/2.5f3ceb7bdf08fadacf00.js","sourcesContent":["// style-loader: Adds some css to the DOM by adding a \n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./modified_indicator.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./modified_indicator.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./modified_indicator.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-be0aa34e\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./modified_indicator.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.changed)?_c('span',{staticClass:\"ModifiedIndicator\"},[_c('Popover',{attrs:{\"trigger\":\"hover\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_vm._v(\"\\n  \\n \"),_c('FAIcon',{attrs:{\"icon\":\"wrench\",\"aria-label\":_vm.$t('settings.setting_changed')}})]},proxy:true},{key:\"content\",fn:function(){return [_c('div',{staticClass:\"modified-tooltip\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.setting_changed'))+\"\\n \")])]},proxy:true}],null,false,1710729471)})],1):_vm._e()}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import { get, set } from 'lodash'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\nimport ModifiedIndicator from './modified_indicator.vue'\nexport default {\n components: {\n Checkbox,\n ModifiedIndicator\n },\n props: [\n 'path',\n 'disabled'\n ],\n computed: {\n pathDefault () {\n const [firstSegment, ...rest] = this.path.split('.')\n return [firstSegment + 'DefaultValue', ...rest].join('.')\n },\n state () {\n const value = get(this.$parent, this.path)\n if (value === undefined) {\n return this.defaultState\n } else {\n return value\n }\n },\n defaultState () {\n return get(this.$parent, this.pathDefault)\n },\n isChanged () {\n return this.state !== this.defaultState\n }\n },\n methods: {\n update (e) {\n set(this.$parent, this.path, e)\n }\n }\n}\n","/* script */\nexport * from \"!!babel-loader!./boolean_setting.js\"\nimport __vue_script__ from \"!!babel-loader!./boolean_setting.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5036f1bc\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./boolean_setting.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{staticClass:\"BooleanSetting\"},[_c('Checkbox',{attrs:{\"checked\":_vm.state,\"disabled\":_vm.disabled},on:{\"change\":_vm.update}},[(!!_vm.$slots.default)?_c('span',{staticClass:\"label\"},[_vm._t(\"default\")],2):_vm._e(),_vm._v(\" \"),_c('ModifiedIndicator',{attrs:{\"changed\":_vm.isChanged}})],1)],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import { get, set } from 'lodash'\nimport Select from 'src/components/select/select.vue'\nimport ModifiedIndicator from './modified_indicator.vue'\nexport default {\n components: {\n Select,\n ModifiedIndicator\n },\n props: [\n 'path',\n 'disabled',\n 'options'\n ],\n computed: {\n pathDefault () {\n const [firstSegment, ...rest] = this.path.split('.')\n return [firstSegment + 'DefaultValue', ...rest].join('.')\n },\n state () {\n const value = get(this.$parent, this.path)\n if (value === undefined) {\n return this.defaultState\n } else {\n return value\n }\n },\n defaultState () {\n return get(this.$parent, this.pathDefault)\n },\n isChanged () {\n return this.state !== this.defaultState\n }\n },\n methods: {\n update (e) {\n set(this.$parent, this.path, e)\n }\n }\n}\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./choice_setting.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./choice_setting.js\"\nimport __vue_script__ from \"!!babel-loader!./choice_setting.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4ff93bac\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./choice_setting.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{staticClass:\"ChoiceSetting\"},[_vm._t(\"default\"),_vm._v(\" \"),_c('Select',{attrs:{\"value\":_vm.state,\"disabled\":_vm.disabled},on:{\"change\":_vm.update}},_vm._l((_vm.options),function(option){return _c('option',{key:option.key,domProps:{\"value\":option.value}},[_vm._v(\"\\n \"+_vm._s(option.label)+\"\\n \"+_vm._s(option.value === _vm.defaultState ? _vm.$t('settings.instance_default_simple') : '')+\"\\n \")])}),0),_vm._v(\" \"),_c('ModifiedIndicator',{attrs:{\"changed\":_vm.isChanged}})],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import { defaultState as configDefaultState } from 'src/modules/config.js'\n\nconst SharedComputedObject = () => ({\n user () {\n return this.$store.state.users.currentUser\n },\n // Getting values for default properties\n ...Object.keys(configDefaultState)\n .map(key => [\n key + 'DefaultValue',\n function () {\n return this.$store.getters.defaultConfig[key]\n }\n ])\n .reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {}),\n // Generating computed values for vuex properties\n ...Object.keys(configDefaultState)\n .map(key => [key, {\n get () { return this.$store.getters.mergedConfig[key] },\n set (value) {\n this.$store.dispatch('setOption', { name: key, value })\n }\n }])\n .reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {}),\n // Special cases (need to transform values or perform actions first)\n useStreamingApi: {\n get () { return this.$store.getters.mergedConfig.useStreamingApi },\n set (value) {\n const promise = value\n ? this.$store.dispatch('enableMastoSockets')\n : this.$store.dispatch('disableMastoSockets')\n\n promise.then(() => {\n this.$store.dispatch('setOption', { name: 'useStreamingApi', value })\n }).catch((e) => {\n console.error('Failed starting MastoAPI Streaming socket', e)\n this.$store.dispatch('disableMastoSockets')\n this.$store.dispatch('setOption', { name: 'useStreamingApi', value: false })\n })\n }\n }\n})\n\nexport default SharedComputedObject\n","import { filter, trim } from 'lodash'\nimport BooleanSetting from '../helpers/boolean_setting.vue'\nimport ChoiceSetting from '../helpers/choice_setting.vue'\n\nimport SharedComputedObject from '../helpers/shared_computed_object.js'\n\nconst FilteringTab = {\n data () {\n return {\n muteWordsStringLocal: this.$store.getters.mergedConfig.muteWords.join('\\n'),\n replyVisibilityOptions: ['all', 'following', 'self'].map(mode => ({\n key: mode,\n value: mode,\n label: this.$t(`settings.reply_visibility_${mode}`)\n }))\n }\n },\n components: {\n BooleanSetting,\n ChoiceSetting\n },\n computed: {\n ...SharedComputedObject(),\n muteWordsString: {\n get () {\n return this.muteWordsStringLocal\n },\n set (value) {\n this.muteWordsStringLocal = value\n this.$store.dispatch('setOption', {\n name: 'muteWords',\n value: filter(value.split('\\n'), (word) => trim(word).length > 0)\n })\n }\n }\n },\n // Updating nested properties\n watch: {\n notificationVisibility: {\n handler (value) {\n this.$store.dispatch('setOption', {\n name: 'notificationVisibility',\n value: this.$store.getters.mergedConfig.notificationVisibility\n })\n },\n deep: true\n },\n replyVisibility () {\n this.$store.dispatch('queueFlushAll')\n }\n }\n}\n\nexport default FilteringTab\n","/* script */\nexport * from \"!!babel-loader!./filtering_tab.js\"\nimport __vue_script__ from \"!!babel-loader!./filtering_tab.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6f76ed3c\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./filtering_tab.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"label\":_vm.$t('settings.filtering')}},[_c('div',{staticClass:\"setting-item\"},[_c('div',{staticClass:\"select-multiple\"},[_c('span',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t('settings.notification_visibility')))]),_vm._v(\" \"),_c('ul',{staticClass:\"option-list\"},[_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"notificationVisibility.likes\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.notification_visibility_likes'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"notificationVisibility.repeats\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.notification_visibility_repeats'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"notificationVisibility.follows\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.notification_visibility_follows'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"notificationVisibility.mentions\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.notification_visibility_mentions'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"notificationVisibility.moves\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.notification_visibility_moves'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"notificationVisibility.emojiReactions\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.notification_visibility_emoji_reactions'))+\"\\n \")])],1)])]),_vm._v(\" \"),_c('ChoiceSetting',{attrs:{\"id\":\"replyVisibility\",\"path\":\"replyVisibility\",\"options\":_vm.replyVisibilityOptions}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.replies_in_timeline'))+\"\\n \")]),_vm._v(\" \"),_c('div',[_c('BooleanSetting',{attrs:{\"path\":\"hidePostStats\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_post_stats'))+\"\\n \")])],1),_vm._v(\" \"),_c('div',[_c('BooleanSetting',{attrs:{\"path\":\"hideUserStats\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_user_stats'))+\"\\n \")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.filtering_explanation')))]),_vm._v(\" \"),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.muteWordsString),expression:\"muteWordsString\"}],staticClass:\"resize-height\",attrs:{\"id\":\"muteWords\"},domProps:{\"value\":(_vm.muteWordsString)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.muteWordsString=$event.target.value}}})]),_vm._v(\" \"),_c('div',[_c('BooleanSetting',{attrs:{\"path\":\"hideFilteredStatuses\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_filtered_statuses'))+\"\\n \")])],1)])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","export default {\n props: {\n backupCodes: {\n type: Object,\n default: () => ({\n inProgress: false,\n codes: []\n })\n }\n },\n data: () => ({}),\n computed: {\n inProgress () { return this.backupCodes.inProgress },\n ready () { return this.backupCodes.codes.length > 0 },\n displayTitle () { return this.inProgress || this.ready }\n }\n}\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./mfa_backup_codes.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./mfa_backup_codes.js\"\nimport __vue_script__ from \"!!babel-loader!./mfa_backup_codes.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1284fe74\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./mfa_backup_codes.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mfa-backup-codes\"},[(_vm.displayTitle)?_c('h4',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.mfa.recovery_codes'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.inProgress)?_c('i',[_vm._v(_vm._s(_vm.$t('settings.mfa.waiting_a_recovery_codes')))]):_vm._e(),_vm._v(\" \"),(_vm.ready)?[_c('p',{staticClass:\"alert warning\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.mfa.recovery_codes_warning'))+\"\\n \")]),_vm._v(\" \"),_c('ul',{staticClass:\"backup-codes\"},_vm._l((_vm.backupCodes.codes),function(code){return _c('li',{key:code},[_vm._v(\"\\n \"+_vm._s(code)+\"\\n \")])}),0)]:_vm._e()],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","const Confirm = {\n props: ['disabled'],\n data: () => ({}),\n methods: {\n confirm () { this.$emit('confirm') },\n cancel () { this.$emit('cancel') }\n }\n}\nexport default Confirm\n","/* script */\nexport * from \"!!babel-loader!./confirm.js\"\nimport __vue_script__ from \"!!babel-loader!./confirm.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-232a09eb\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./confirm.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._t(\"default\"),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":_vm.disabled},on:{\"click\":_vm.confirm}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.confirm'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":_vm.disabled},on:{\"click\":_vm.cancel}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.cancel'))+\"\\n \")])],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import Confirm from './confirm.vue'\nimport { mapState } from 'vuex'\n\nexport default {\n props: ['settings'],\n data: () => ({\n error: false,\n currentPassword: '',\n deactivate: false,\n inProgress: false // progress peform request to disable otp method\n }),\n components: {\n 'confirm': Confirm\n },\n computed: {\n isActivated () {\n return this.settings.totp\n },\n ...mapState({\n backendInteractor: (state) => state.api.backendInteractor\n })\n },\n methods: {\n doActivate () {\n this.$emit('activate')\n },\n cancelDeactivate () { this.deactivate = false },\n doDeactivate () {\n this.error = null\n this.deactivate = true\n },\n confirmDeactivate () { // confirm deactivate TOTP method\n this.error = null\n this.inProgress = true\n this.backendInteractor.mfaDisableOTP({\n password: this.currentPassword\n })\n .then((res) => {\n this.inProgress = false\n if (res.error) {\n this.error = res.error\n return\n }\n this.deactivate = false\n this.$emit('deactivate')\n })\n }\n }\n}\n","import RecoveryCodes from './mfa_backup_codes.vue'\nimport TOTP from './mfa_totp.vue'\nimport Confirm from './confirm.vue'\nimport VueQrcode from '@chenfengyuan/vue-qrcode'\nimport { mapState } from 'vuex'\n\nconst Mfa = {\n data: () => ({\n settings: { // current settings of MFA\n available: false,\n enabled: false,\n totp: false\n },\n setupState: { // setup mfa\n state: '', // state of setup. '' -> 'getBackupCodes' -> 'setupOTP' -> 'complete'\n setupOTPState: '' // state of setup otp. '' -> 'prepare' -> 'confirm' -> 'complete'\n },\n backupCodes: {\n getNewCodes: false,\n inProgress: false, // progress of fetch codes\n codes: []\n },\n otpSettings: { // pre-setup setting of OTP. secret key, qrcode url.\n provisioning_uri: '',\n key: ''\n },\n currentPassword: null,\n otpConfirmToken: null,\n error: null,\n readyInit: false\n }),\n components: {\n 'recovery-codes': RecoveryCodes,\n 'totp-item': TOTP,\n 'qrcode': VueQrcode,\n 'confirm': Confirm\n },\n computed: {\n canSetupOTP () {\n return (\n (this.setupInProgress && this.backupCodesPrepared) ||\n this.settings.enabled\n ) && !this.settings.totp && !this.setupOTPInProgress\n },\n setupInProgress () {\n return this.setupState.state !== '' && this.setupState.state !== 'complete'\n },\n setupOTPInProgress () {\n return this.setupState.state === 'setupOTP' && !this.completedOTP\n },\n prepareOTP () {\n return this.setupState.setupOTPState === 'prepare'\n },\n confirmOTP () {\n return this.setupState.setupOTPState === 'confirm'\n },\n completedOTP () {\n return this.setupState.setupOTPState === 'completed'\n },\n backupCodesPrepared () {\n return !this.backupCodes.inProgress && this.backupCodes.codes.length > 0\n },\n confirmNewBackupCodes () {\n return this.backupCodes.getNewCodes\n },\n ...mapState({\n backendInteractor: (state) => state.api.backendInteractor\n })\n },\n\n methods: {\n activateOTP () {\n if (!this.settings.enabled) {\n this.setupState.state = 'getBackupcodes'\n this.fetchBackupCodes()\n }\n },\n fetchBackupCodes () {\n this.backupCodes.inProgress = true\n this.backupCodes.codes = []\n\n return this.backendInteractor.generateMfaBackupCodes()\n .then((res) => {\n this.backupCodes.codes = res.codes\n this.backupCodes.inProgress = false\n })\n },\n getBackupCodes () { // get a new backup codes\n this.backupCodes.getNewCodes = true\n },\n confirmBackupCodes () { // confirm getting new backup codes\n this.fetchBackupCodes().then((res) => {\n this.backupCodes.getNewCodes = false\n })\n },\n cancelBackupCodes () { // cancel confirm form of new backup codes\n this.backupCodes.getNewCodes = false\n },\n\n // Setup OTP\n setupOTP () { // prepare setup OTP\n this.setupState.state = 'setupOTP'\n this.setupState.setupOTPState = 'prepare'\n this.backendInteractor.mfaSetupOTP()\n .then((res) => {\n this.otpSettings = res\n this.setupState.setupOTPState = 'confirm'\n })\n },\n doConfirmOTP () { // handler confirm enable OTP\n this.error = null\n this.backendInteractor.mfaConfirmOTP({\n token: this.otpConfirmToken,\n password: this.currentPassword\n })\n .then((res) => {\n if (res.error) {\n this.error = res.error\n return\n }\n this.completeSetup()\n })\n },\n\n completeSetup () {\n this.setupState.setupOTPState = 'complete'\n this.setupState.state = 'complete'\n this.currentPassword = null\n this.error = null\n this.fetchSettings()\n },\n cancelSetup () { // cancel setup\n this.setupState.setupOTPState = ''\n this.setupState.state = ''\n this.currentPassword = null\n this.error = null\n },\n // end Setup OTP\n\n // fetch settings from server\n async fetchSettings () {\n let result = await this.backendInteractor.settingsMFA()\n if (result.error) return\n this.settings = result.settings\n this.settings.available = true\n return result\n }\n },\n mounted () {\n this.fetchSettings().then(() => {\n this.readyInit = true\n })\n }\n}\nexport default Mfa\n","/* script */\nexport * from \"!!babel-loader!./mfa_totp.js\"\nimport __vue_script__ from \"!!babel-loader!./mfa_totp.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5466d3a1\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./mfa_totp.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"method-item\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('settings.mfa.otp')))]),_vm._v(\" \"),(!_vm.isActivated)?_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.doActivate}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.enable'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isActivated)?_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":_vm.deactivate},on:{\"click\":_vm.doDeactivate}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.disable'))+\"\\n \")]):_vm._e()]),_vm._v(\" \"),(_vm.deactivate)?_c('confirm',{attrs:{\"disabled\":_vm.inProgress},on:{\"confirm\":_vm.confirmDeactivate,\"cancel\":_vm.cancelDeactivate}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.enter_current_password_to_confirm'))+\":\\n \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentPassword),expression:\"currentPassword\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.currentPassword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.currentPassword=$event.target.value}}})]):_vm._e(),_vm._v(\" \"),(_vm.error)?_c('div',{staticClass:\"alert error\"},[_vm._v(\"\\n \"+_vm._s(_vm.error)+\"\\n \")]):_vm._e()],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./mfa.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./mfa.js\"\nimport __vue_script__ from \"!!babel-loader!./mfa.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-c62074fa\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./mfa.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.readyInit && _vm.settings.available)?_c('div',{staticClass:\"setting-item mfa-settings\"},[_c('div',{staticClass:\"mfa-heading\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.mfa.title')))])]),_vm._v(\" \"),_c('div',[(!_vm.setupInProgress)?_c('div',{staticClass:\"setting-item\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('settings.mfa.authentication_methods')))]),_vm._v(\" \"),_c('totp-item',{attrs:{\"settings\":_vm.settings},on:{\"deactivate\":_vm.fetchSettings,\"activate\":_vm.activateOTP}}),_vm._v(\" \"),_c('br'),_vm._v(\" \"),(_vm.settings.enabled)?_c('div',[(!_vm.confirmNewBackupCodes)?_c('recovery-codes',{attrs:{\"backup-codes\":_vm.backupCodes}}):_vm._e(),_vm._v(\" \"),(!_vm.confirmNewBackupCodes)?_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.getBackupCodes}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.mfa.generate_new_recovery_codes'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.confirmNewBackupCodes)?_c('div',[_c('confirm',{attrs:{\"disabled\":_vm.backupCodes.inProgress},on:{\"confirm\":_vm.confirmBackupCodes,\"cancel\":_vm.cancelBackupCodes}},[_c('p',{staticClass:\"warning\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.mfa.warning_of_generate_new_codes'))+\"\\n \")])])],1):_vm._e()],1):_vm._e()],1):_vm._e(),_vm._v(\" \"),(_vm.setupInProgress)?_c('div',[_c('h3',[_vm._v(_vm._s(_vm.$t('settings.mfa.setup_otp')))]),_vm._v(\" \"),(!_vm.setupOTPInProgress)?_c('recovery-codes',{attrs:{\"backup-codes\":_vm.backupCodes}}):_vm._e(),_vm._v(\" \"),(_vm.canSetupOTP)?_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.cancelSetup}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.cancel'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canSetupOTP)?_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.setupOTP}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.mfa.setup_otp'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.setupOTPInProgress)?[(_vm.prepareOTP)?_c('i',[_vm._v(_vm._s(_vm.$t('settings.mfa.wait_pre_setup_otp')))]):_vm._e(),_vm._v(\" \"),(_vm.confirmOTP)?_c('div',[_c('div',{staticClass:\"setup-otp\"},[_c('div',{staticClass:\"qr-code\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.mfa.scan.title')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.mfa.scan.desc')))]),_vm._v(\" \"),_c('qrcode',{attrs:{\"value\":_vm.otpSettings.provisioning_uri,\"options\":{ width: 200 }}}),_vm._v(\" \"),_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.mfa.scan.secret_code'))+\":\\n \"+_vm._s(_vm.otpSettings.key)+\"\\n \")])],1),_vm._v(\" \"),_c('div',{staticClass:\"verify\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('general.verify')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.mfa.verify.desc')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.otpConfirmToken),expression:\"otpConfirmToken\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.otpConfirmToken)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.otpConfirmToken=$event.target.value}}}),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.enter_current_password_to_confirm'))+\":\")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentPassword),expression:\"currentPassword\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.currentPassword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.currentPassword=$event.target.value}}}),_vm._v(\" \"),_c('div',{staticClass:\"confirm-otp-actions\"},[_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.doConfirmOTP}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.mfa.confirm_and_enable'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.cancelSetup}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.cancel'))+\"\\n \")])]),_vm._v(\" \"),(_vm.error)?_c('div',{staticClass:\"alert error\"},[_vm._v(\"\\n \"+_vm._s(_vm.error)+\"\\n \")]):_vm._e()])])]):_vm._e()]:_vm._e()],2):_vm._e()])]):_vm._e()}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import ProgressButton from 'src/components/progress_button/progress_button.vue'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\nimport Mfa from './mfa.vue'\nimport localeService from 'src/services/locale/locale.service.js'\n\nconst SecurityTab = {\n data () {\n return {\n newEmail: '',\n changeEmailError: false,\n changeEmailPassword: '',\n changedEmail: false,\n deletingAccount: false,\n deleteAccountConfirmPasswordInput: '',\n deleteAccountError: false,\n changePasswordInputs: [ '', '', '' ],\n changedPassword: false,\n changePasswordError: false\n }\n },\n created () {\n this.$store.dispatch('fetchTokens')\n },\n components: {\n ProgressButton,\n Mfa,\n Checkbox\n },\n computed: {\n user () {\n return this.$store.state.users.currentUser\n },\n pleromaBackend () {\n return this.$store.state.instance.pleromaBackend\n },\n oauthTokens () {\n return this.$store.state.oauthTokens.tokens.map(oauthToken => {\n return {\n id: oauthToken.id,\n appName: oauthToken.app_name,\n validUntil: new Date(oauthToken.valid_until).toLocaleDateString(localeService.internalToBrowserLocale(this.$i18n.locale))\n }\n })\n }\n },\n methods: {\n confirmDelete () {\n this.deletingAccount = true\n },\n deleteAccount () {\n this.$store.state.api.backendInteractor.deleteAccount({ password: this.deleteAccountConfirmPasswordInput })\n .then((res) => {\n if (res.status === 'success') {\n this.$store.dispatch('logout')\n this.$router.push({ name: 'root' })\n } else {\n this.deleteAccountError = res.error\n }\n })\n },\n changePassword () {\n const params = {\n password: this.changePasswordInputs[0],\n newPassword: this.changePasswordInputs[1],\n newPasswordConfirmation: this.changePasswordInputs[2]\n }\n this.$store.state.api.backendInteractor.changePassword(params)\n .then((res) => {\n if (res.status === 'success') {\n this.changedPassword = true\n this.changePasswordError = false\n this.logout()\n } else {\n this.changedPassword = false\n this.changePasswordError = res.error\n }\n })\n },\n changeEmail () {\n const params = {\n email: this.newEmail,\n password: this.changeEmailPassword\n }\n this.$store.state.api.backendInteractor.changeEmail(params)\n .then((res) => {\n if (res.status === 'success') {\n this.changedEmail = true\n this.changeEmailError = false\n } else {\n this.changedEmail = false\n this.changeEmailError = res.error\n }\n })\n },\n logout () {\n this.$store.dispatch('logout')\n this.$router.replace('/')\n },\n revokeToken (id) {\n if (window.confirm(`${this.$i18n.t('settings.revoke_token')}?`)) {\n this.$store.dispatch('revokeToken', id)\n }\n }\n }\n}\n\nexport default SecurityTab\n","/* script */\nexport * from \"!!babel-loader!./security_tab.js\"\nimport __vue_script__ from \"!!babel-loader!./security_tab.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-dc4ec0ae\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./security_tab.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"label\":_vm.$t('settings.security_tab')}},[_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.change_email')))]),_vm._v(\" \"),_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.new_email')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newEmail),expression:\"newEmail\"}],attrs:{\"type\":\"email\",\"autocomplete\":\"email\"},domProps:{\"value\":(_vm.newEmail)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newEmail=$event.target.value}}})]),_vm._v(\" \"),_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.current_password')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.changeEmailPassword),expression:\"changeEmailPassword\"}],attrs:{\"type\":\"password\",\"autocomplete\":\"current-password\"},domProps:{\"value\":(_vm.changeEmailPassword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.changeEmailPassword=$event.target.value}}})]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.changeEmail}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.save'))+\"\\n \")]),_vm._v(\" \"),(_vm.changedEmail)?_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.changed_email'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.changeEmailError !== false)?[_c('p',[_vm._v(_vm._s(_vm.$t('settings.change_email_error')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.changeEmailError))])]:_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.change_password')))]),_vm._v(\" \"),_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.current_password')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.changePasswordInputs[0]),expression:\"changePasswordInputs[0]\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.changePasswordInputs[0])},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.changePasswordInputs, 0, $event.target.value)}}})]),_vm._v(\" \"),_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.new_password')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.changePasswordInputs[1]),expression:\"changePasswordInputs[1]\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.changePasswordInputs[1])},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.changePasswordInputs, 1, $event.target.value)}}})]),_vm._v(\" \"),_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.confirm_new_password')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.changePasswordInputs[2]),expression:\"changePasswordInputs[2]\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.changePasswordInputs[2])},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.changePasswordInputs, 2, $event.target.value)}}})]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.changePassword}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.save'))+\"\\n \")]),_vm._v(\" \"),(_vm.changedPassword)?_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.changed_password'))+\"\\n \")]):(_vm.changePasswordError !== false)?_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.change_password_error'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.changePasswordError)?_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.changePasswordError)+\"\\n \")]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.oauth_tokens')))]),_vm._v(\" \"),_c('table',{staticClass:\"oauth-tokens\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t('settings.app_name')))]),_vm._v(\" \"),_c('th',[_vm._v(_vm._s(_vm.$t('settings.valid_until')))]),_vm._v(\" \"),_c('th')])]),_vm._v(\" \"),_c('tbody',_vm._l((_vm.oauthTokens),function(oauthToken){return _c('tr',{key:oauthToken.id},[_c('td',[_vm._v(_vm._s(oauthToken.appName))]),_vm._v(\" \"),_c('td',[_vm._v(_vm._s(oauthToken.validUntil))]),_vm._v(\" \"),_c('td',{staticClass:\"actions\"},[_c('button',{staticClass:\"btn button-default\",on:{\"click\":function($event){return _vm.revokeToken(oauthToken.id)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.revoke_token'))+\"\\n \")])])])}),0)])]),_vm._v(\" \"),_c('mfa'),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.delete_account')))]),_vm._v(\" \"),(!_vm.deletingAccount)?_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.delete_account_description'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.deletingAccount)?_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.delete_account_instructions')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('login.password')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.deleteAccountConfirmPasswordInput),expression:\"deleteAccountConfirmPasswordInput\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.deleteAccountConfirmPasswordInput)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.deleteAccountConfirmPasswordInput=$event.target.value}}}),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.deleteAccount}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.delete_account'))+\"\\n \")])]):_vm._e(),_vm._v(\" \"),(_vm.deleteAccountError !== false)?_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.delete_account_error'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.deleteAccountError)?_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.deleteAccountError)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(!_vm.deletingAccount)?_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.confirmDelete}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.save'))+\"\\n \")]):_vm._e()])],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import Cropper from 'cropperjs'\nimport 'cropperjs/dist/cropper.css'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faCircleNotch\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faCircleNotch\n)\n\nconst ImageCropper = {\n props: {\n trigger: {\n type: [String, window.Element],\n required: true\n },\n submitHandler: {\n type: Function,\n required: true\n },\n cropperOptions: {\n type: Object,\n default () {\n return {\n aspectRatio: 1,\n autoCropArea: 1,\n viewMode: 1,\n movable: false,\n zoomable: false,\n guides: false\n }\n }\n },\n mimes: {\n type: String,\n default: 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon'\n },\n saveButtonLabel: {\n type: String\n },\n saveWithoutCroppingButtonlabel: {\n type: String\n },\n cancelButtonLabel: {\n type: String\n }\n },\n data () {\n return {\n cropper: undefined,\n dataUrl: undefined,\n filename: undefined,\n submitting: false\n }\n },\n computed: {\n saveText () {\n return this.saveButtonLabel || this.$t('image_cropper.save')\n },\n saveWithoutCroppingText () {\n return this.saveWithoutCroppingButtonlabel || this.$t('image_cropper.save_without_cropping')\n },\n cancelText () {\n return this.cancelButtonLabel || this.$t('image_cropper.cancel')\n }\n },\n methods: {\n destroy () {\n if (this.cropper) {\n this.cropper.destroy()\n }\n this.$refs.input.value = ''\n this.dataUrl = undefined\n this.$emit('close')\n },\n submit (cropping = true) {\n this.submitting = true\n this.submitHandler(cropping && this.cropper, this.file)\n .then(() => this.destroy())\n .finally(() => {\n this.submitting = false\n })\n },\n pickImage () {\n this.$refs.input.click()\n },\n createCropper () {\n this.cropper = new Cropper(this.$refs.img, this.cropperOptions)\n },\n getTriggerDOM () {\n return typeof this.trigger === 'object' ? this.trigger : document.querySelector(this.trigger)\n },\n readFile () {\n const fileInput = this.$refs.input\n if (fileInput.files != null && fileInput.files[0] != null) {\n this.file = fileInput.files[0]\n let reader = new window.FileReader()\n reader.onload = (e) => {\n this.dataUrl = e.target.result\n this.$emit('open')\n }\n reader.readAsDataURL(this.file)\n this.$emit('changed', this.file, reader)\n }\n }\n },\n mounted () {\n // listen for click event on trigger\n const trigger = this.getTriggerDOM()\n if (!trigger) {\n this.$emit('error', 'No image make trigger found.', 'user')\n } else {\n trigger.addEventListener('click', this.pickImage)\n }\n // listen for input file changes\n const fileInput = this.$refs.input\n fileInput.addEventListener('change', this.readFile)\n },\n beforeDestroy: function () {\n // remove the event listeners\n const trigger = this.getTriggerDOM()\n if (trigger) {\n trigger.removeEventListener('click', this.pickImage)\n }\n const fileInput = this.$refs.input\n fileInput.removeEventListener('change', this.readFile)\n }\n}\n\nexport default ImageCropper\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./image_cropper.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./image_cropper.js\"\nimport __vue_script__ from \"!!babel-loader!./image_cropper.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0bac39f0\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./image_cropper.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"image-cropper\"},[(_vm.dataUrl)?_c('div',[_c('div',{staticClass:\"image-cropper-image-container\"},[_c('img',{ref:\"img\",attrs:{\"src\":_vm.dataUrl,\"alt\":\"\"},on:{\"load\":function($event){$event.stopPropagation();return _vm.createCropper($event)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"image-cropper-buttons-wrapper\"},[_c('button',{staticClass:\"button-default btn\",attrs:{\"type\":\"button\",\"disabled\":_vm.submitting},domProps:{\"textContent\":_vm._s(_vm.saveText)},on:{\"click\":function($event){return _vm.submit()}}}),_vm._v(\" \"),_c('button',{staticClass:\"button-default btn\",attrs:{\"type\":\"button\",\"disabled\":_vm.submitting},domProps:{\"textContent\":_vm._s(_vm.cancelText)},on:{\"click\":_vm.destroy}}),_vm._v(\" \"),_c('button',{staticClass:\"button-default btn\",attrs:{\"type\":\"button\",\"disabled\":_vm.submitting},domProps:{\"textContent\":_vm._s(_vm.saveWithoutCroppingText)},on:{\"click\":function($event){return _vm.submit(false)}}}),_vm._v(\" \"),(_vm.submitting)?_c('FAIcon',{attrs:{\"spin\":\"\",\"icon\":\"circle-notch\"}}):_vm._e()],1)]):_vm._e(),_vm._v(\" \"),_c('input',{ref:\"input\",staticClass:\"image-cropper-img-input\",attrs:{\"type\":\"file\",\"accept\":_vm.mimes}})])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import unescape from 'lodash/unescape'\nimport merge from 'lodash/merge'\nimport ImageCropper from 'src/components/image_cropper/image_cropper.vue'\nimport ScopeSelector from 'src/components/scope_selector/scope_selector.vue'\nimport fileSizeFormatService from 'src/components/../services/file_size_format/file_size_format.js'\nimport ProgressButton from 'src/components/progress_button/progress_button.vue'\nimport EmojiInput from 'src/components/emoji_input/emoji_input.vue'\nimport suggestor from 'src/components/emoji_input/suggestor.js'\nimport Autosuggest from 'src/components/autosuggest/autosuggest.vue'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faTimes,\n faPlus,\n faCircleNotch\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faTimes,\n faPlus,\n faCircleNotch\n)\n\nconst ProfileTab = {\n data () {\n return {\n newName: this.$store.state.users.currentUser.name,\n newBio: unescape(this.$store.state.users.currentUser.description),\n newLocked: this.$store.state.users.currentUser.locked,\n newNoRichText: this.$store.state.users.currentUser.no_rich_text,\n newDefaultScope: this.$store.state.users.currentUser.default_scope,\n newFields: this.$store.state.users.currentUser.fields.map(field => ({ name: field.name, value: field.value })),\n hideFollows: this.$store.state.users.currentUser.hide_follows,\n hideFollowers: this.$store.state.users.currentUser.hide_followers,\n hideFollowsCount: this.$store.state.users.currentUser.hide_follows_count,\n hideFollowersCount: this.$store.state.users.currentUser.hide_followers_count,\n showRole: this.$store.state.users.currentUser.show_role,\n role: this.$store.state.users.currentUser.role,\n discoverable: this.$store.state.users.currentUser.discoverable,\n bot: this.$store.state.users.currentUser.bot,\n allowFollowingMove: this.$store.state.users.currentUser.allow_following_move,\n pickAvatarBtnVisible: true,\n bannerUploading: false,\n backgroundUploading: false,\n banner: null,\n bannerPreview: null,\n background: null,\n backgroundPreview: null\n }\n },\n components: {\n ScopeSelector,\n ImageCropper,\n EmojiInput,\n Autosuggest,\n ProgressButton,\n Checkbox\n },\n computed: {\n user () {\n return this.$store.state.users.currentUser\n },\n emojiUserSuggestor () {\n return suggestor({\n emoji: [\n ...this.$store.state.instance.emoji,\n ...this.$store.state.instance.customEmoji\n ],\n store: this.$store\n })\n },\n emojiSuggestor () {\n return suggestor({ emoji: [\n ...this.$store.state.instance.emoji,\n ...this.$store.state.instance.customEmoji\n ] })\n },\n userSuggestor () {\n return suggestor({ store: this.$store })\n },\n fieldsLimits () {\n return this.$store.state.instance.fieldsLimits\n },\n maxFields () {\n return this.fieldsLimits ? this.fieldsLimits.maxFields : 0\n },\n defaultAvatar () {\n return this.$store.state.instance.server + this.$store.state.instance.defaultAvatar\n },\n defaultBanner () {\n return this.$store.state.instance.server + this.$store.state.instance.defaultBanner\n },\n isDefaultAvatar () {\n const baseAvatar = this.$store.state.instance.defaultAvatar\n return !(this.$store.state.users.currentUser.profile_image_url) ||\n this.$store.state.users.currentUser.profile_image_url.includes(baseAvatar)\n },\n isDefaultBanner () {\n const baseBanner = this.$store.state.instance.defaultBanner\n return !(this.$store.state.users.currentUser.cover_photo) ||\n this.$store.state.users.currentUser.cover_photo.includes(baseBanner)\n },\n isDefaultBackground () {\n return !(this.$store.state.users.currentUser.background_image)\n },\n avatarImgSrc () {\n const src = this.$store.state.users.currentUser.profile_image_url_original\n return (!src) ? this.defaultAvatar : src\n },\n bannerImgSrc () {\n const src = this.$store.state.users.currentUser.cover_photo\n return (!src) ? this.defaultBanner : src\n }\n },\n methods: {\n updateProfile () {\n this.$store.state.api.backendInteractor\n .updateProfile({\n params: {\n note: this.newBio,\n locked: this.newLocked,\n // Backend notation.\n /* eslint-disable camelcase */\n display_name: this.newName,\n fields_attributes: this.newFields.filter(el => el != null),\n default_scope: this.newDefaultScope,\n no_rich_text: this.newNoRichText,\n hide_follows: this.hideFollows,\n hide_followers: this.hideFollowers,\n discoverable: this.discoverable,\n bot: this.bot,\n allow_following_move: this.allowFollowingMove,\n hide_follows_count: this.hideFollowsCount,\n hide_followers_count: this.hideFollowersCount,\n show_role: this.showRole\n /* eslint-enable camelcase */\n } }).then((user) => {\n this.newFields.splice(user.fields.length)\n merge(this.newFields, user.fields)\n this.$store.commit('addNewUsers', [user])\n this.$store.commit('setCurrentUser', user)\n })\n },\n changeVis (visibility) {\n this.newDefaultScope = visibility\n },\n addField () {\n if (this.newFields.length < this.maxFields) {\n this.newFields.push({ name: '', value: '' })\n return true\n }\n return false\n },\n deleteField (index, event) {\n this.$delete(this.newFields, index)\n },\n uploadFile (slot, e) {\n const file = e.target.files[0]\n if (!file) { return }\n if (file.size > this.$store.state.instance[slot + 'limit']) {\n const filesize = fileSizeFormatService.fileSizeFormat(file.size)\n const allowedsize = fileSizeFormatService.fileSizeFormat(this.$store.state.instance[slot + 'limit'])\n this.$store.dispatch('pushGlobalNotice', {\n messageKey: 'upload.error.message',\n messageArgs: [\n this.$t('upload.error.file_too_big', {\n filesize: filesize.num,\n filesizeunit: filesize.unit,\n allowedsize: allowedsize.num,\n allowedsizeunit: allowedsize.unit\n })\n ],\n level: 'error'\n })\n return\n }\n // eslint-disable-next-line no-undef\n const reader = new FileReader()\n reader.onload = ({ target }) => {\n const img = target.result\n this[slot + 'Preview'] = img\n this[slot] = file\n }\n reader.readAsDataURL(file)\n },\n resetAvatar () {\n const confirmed = window.confirm(this.$t('settings.reset_avatar_confirm'))\n if (confirmed) {\n this.submitAvatar(undefined, '')\n }\n },\n resetBanner () {\n const confirmed = window.confirm(this.$t('settings.reset_banner_confirm'))\n if (confirmed) {\n this.submitBanner('')\n }\n },\n resetBackground () {\n const confirmed = window.confirm(this.$t('settings.reset_background_confirm'))\n if (confirmed) {\n this.submitBackground('')\n }\n },\n submitAvatar (cropper, file) {\n const that = this\n return new Promise((resolve, reject) => {\n function updateAvatar (avatar) {\n that.$store.state.api.backendInteractor.updateProfileImages({ avatar })\n .then((user) => {\n that.$store.commit('addNewUsers', [user])\n that.$store.commit('setCurrentUser', user)\n resolve()\n })\n .catch((error) => {\n that.displayUploadError(error)\n reject(error)\n })\n }\n\n if (cropper) {\n cropper.getCroppedCanvas().toBlob(updateAvatar, file.type)\n } else {\n updateAvatar(file)\n }\n })\n },\n submitBanner (banner) {\n if (!this.bannerPreview && banner !== '') { return }\n\n this.bannerUploading = true\n this.$store.state.api.backendInteractor.updateProfileImages({ banner })\n .then((user) => {\n this.$store.commit('addNewUsers', [user])\n this.$store.commit('setCurrentUser', user)\n this.bannerPreview = null\n })\n .catch(this.displayUploadError)\n .finally(() => { this.bannerUploading = false })\n },\n submitBackground (background) {\n if (!this.backgroundPreview && background !== '') { return }\n\n this.backgroundUploading = true\n this.$store.state.api.backendInteractor.updateProfileImages({ background })\n .then((data) => {\n this.$store.commit('addNewUsers', [data])\n this.$store.commit('setCurrentUser', data)\n this.backgroundPreview = null\n })\n .catch(this.displayUploadError)\n .finally(() => { this.backgroundUploading = false })\n },\n displayUploadError (error) {\n this.$store.dispatch('pushGlobalNotice', {\n messageKey: 'upload.error.message',\n messageArgs: [error.message],\n level: 'error'\n })\n }\n }\n}\n\nexport default ProfileTab\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!./profile_tab.scss\")\n}\n/* script */\nexport * from \"!!babel-loader!./profile_tab.js\"\nimport __vue_script__ from \"!!babel-loader!./profile_tab.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-12b56c32\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./profile_tab.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"profile-tab\"},[_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.name_bio')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.name')))]),_vm._v(\" \"),_c('EmojiInput',{attrs:{\"enable-emoji-picker\":\"\",\"suggest\":_vm.emojiSuggestor},model:{value:(_vm.newName),callback:function ($$v) {_vm.newName=$$v},expression:\"newName\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newName),expression:\"newName\"}],staticClass:\"name-changer\",attrs:{\"id\":\"username\"},domProps:{\"value\":(_vm.newName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newName=$event.target.value}}})]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.bio')))]),_vm._v(\" \"),_c('EmojiInput',{attrs:{\"enable-emoji-picker\":\"\",\"suggest\":_vm.emojiUserSuggestor},model:{value:(_vm.newBio),callback:function ($$v) {_vm.newBio=$$v},expression:\"newBio\"}},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newBio),expression:\"newBio\"}],staticClass:\"bio resize-height\",domProps:{\"value\":(_vm.newBio)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newBio=$event.target.value}}})]),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.newLocked),callback:function ($$v) {_vm.newLocked=$$v},expression:\"newLocked\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.lock_account_description'))+\"\\n \")])],1),_vm._v(\" \"),_c('div',[_c('label',{attrs:{\"for\":\"default-vis\"}},[_vm._v(_vm._s(_vm.$t('settings.default_vis')))]),_vm._v(\" \"),_c('div',{staticClass:\"visibility-tray\",attrs:{\"id\":\"default-vis\"}},[_c('scope-selector',{attrs:{\"show-all\":true,\"user-default\":_vm.newDefaultScope,\"initial-scope\":_vm.newDefaultScope,\"on-scope-change\":_vm.changeVis}})],1)]),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.newNoRichText),callback:function ($$v) {_vm.newNoRichText=$$v},expression:\"newNoRichText\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.no_rich_text_description'))+\"\\n \")])],1),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.hideFollows),callback:function ($$v) {_vm.hideFollows=$$v},expression:\"hideFollows\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_follows_description'))+\"\\n \")])],1),_vm._v(\" \"),_c('p',{staticClass:\"setting-subitem\"},[_c('Checkbox',{attrs:{\"disabled\":!_vm.hideFollows},model:{value:(_vm.hideFollowsCount),callback:function ($$v) {_vm.hideFollowsCount=$$v},expression:\"hideFollowsCount\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_follows_count_description'))+\"\\n \")])],1),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.hideFollowers),callback:function ($$v) {_vm.hideFollowers=$$v},expression:\"hideFollowers\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_followers_description'))+\"\\n \")])],1),_vm._v(\" \"),_c('p',{staticClass:\"setting-subitem\"},[_c('Checkbox',{attrs:{\"disabled\":!_vm.hideFollowers},model:{value:(_vm.hideFollowersCount),callback:function ($$v) {_vm.hideFollowersCount=$$v},expression:\"hideFollowersCount\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_followers_count_description'))+\"\\n \")])],1),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.allowFollowingMove),callback:function ($$v) {_vm.allowFollowingMove=$$v},expression:\"allowFollowingMove\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.allow_following_move'))+\"\\n \")])],1),_vm._v(\" \"),(_vm.role === 'admin' || _vm.role === 'moderator')?_c('p',[_c('Checkbox',{model:{value:(_vm.showRole),callback:function ($$v) {_vm.showRole=$$v},expression:\"showRole\"}},[(_vm.role === 'admin')?[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.show_admin_badge'))+\"\\n \")]:_vm._e(),_vm._v(\" \"),(_vm.role === 'moderator')?[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.show_moderator_badge'))+\"\\n \")]:_vm._e()],2)],1):_vm._e(),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.discoverable),callback:function ($$v) {_vm.discoverable=$$v},expression:\"discoverable\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.discoverable'))+\"\\n \")])],1),_vm._v(\" \"),(_vm.maxFields > 0)?_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.profile_fields.label')))]),_vm._v(\" \"),_vm._l((_vm.newFields),function(_,i){return _c('div',{key:i,staticClass:\"profile-fields\"},[_c('EmojiInput',{attrs:{\"enable-emoji-picker\":\"\",\"hide-emoji-button\":\"\",\"suggest\":_vm.userSuggestor},model:{value:(_vm.newFields[i].name),callback:function ($$v) {_vm.$set(_vm.newFields[i], \"name\", $$v)},expression:\"newFields[i].name\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newFields[i].name),expression:\"newFields[i].name\"}],attrs:{\"placeholder\":_vm.$t('settings.profile_fields.name')},domProps:{\"value\":(_vm.newFields[i].name)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newFields[i], \"name\", $event.target.value)}}})]),_vm._v(\" \"),_c('EmojiInput',{attrs:{\"enable-emoji-picker\":\"\",\"hide-emoji-button\":\"\",\"suggest\":_vm.userSuggestor},model:{value:(_vm.newFields[i].value),callback:function ($$v) {_vm.$set(_vm.newFields[i], \"value\", $$v)},expression:\"newFields[i].value\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newFields[i].value),expression:\"newFields[i].value\"}],attrs:{\"placeholder\":_vm.$t('settings.profile_fields.value')},domProps:{\"value\":(_vm.newFields[i].value)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newFields[i], \"value\", $event.target.value)}}})]),_vm._v(\" \"),_c('button',{staticClass:\"delete-field button-unstyled -hover-highlight\",on:{\"click\":function($event){return _vm.deleteField(i)}}},[_c('FAIcon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.newFields.length > 1),expression:\"newFields.length > 1\"}],attrs:{\"icon\":\"times\"}})],1)],1)}),_vm._v(\" \"),(_vm.newFields.length < _vm.maxFields)?_c('button',{staticClass:\"add-field faint button-unstyled -hover-highlight\",on:{\"click\":_vm.addField}},[_c('FAIcon',{attrs:{\"icon\":\"plus\"}}),_vm._v(\"\\n \"+_vm._s(_vm.$t(\"settings.profile_fields.add_field\"))+\"\\n \")],1):_vm._e()],2):_vm._e(),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.bot),callback:function ($$v) {_vm.bot=$$v},expression:\"bot\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.bot'))+\"\\n \")])],1),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":_vm.newName && _vm.newName.length === 0},on:{\"click\":_vm.updateProfile}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.save'))+\"\\n \")])],1),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.avatar')))]),_vm._v(\" \"),_c('p',{staticClass:\"visibility-notice\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.avatar_size_instruction'))+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"current-avatar-container\"},[_c('img',{staticClass:\"current-avatar\",attrs:{\"src\":_vm.user.profile_image_url_original}}),_vm._v(\" \"),(!_vm.isDefaultAvatar && _vm.pickAvatarBtnVisible)?_c('FAIcon',{staticClass:\"reset-button\",attrs:{\"title\":_vm.$t('settings.reset_avatar'),\"icon\":\"times\",\"type\":\"button\"},on:{\"click\":_vm.resetAvatar}}):_vm._e()],1),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.set_new_avatar')))]),_vm._v(\" \"),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.pickAvatarBtnVisible),expression:\"pickAvatarBtnVisible\"}],staticClass:\"button-default btn\",attrs:{\"id\":\"pick-avatar\",\"type\":\"button\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.upload_a_photo'))+\"\\n \")]),_vm._v(\" \"),_c('image-cropper',{attrs:{\"trigger\":\"#pick-avatar\",\"submit-handler\":_vm.submitAvatar},on:{\"open\":function($event){_vm.pickAvatarBtnVisible=false},\"close\":function($event){_vm.pickAvatarBtnVisible=true}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.profile_banner')))]),_vm._v(\" \"),_c('div',{staticClass:\"banner-background-preview\"},[_c('img',{attrs:{\"src\":_vm.user.cover_photo}}),_vm._v(\" \"),(!_vm.isDefaultBanner)?_c('FAIcon',{staticClass:\"reset-button\",attrs:{\"title\":_vm.$t('settings.reset_profile_banner'),\"icon\":\"times\",\"type\":\"button\"},on:{\"click\":_vm.resetBanner}}):_vm._e()],1),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.set_new_profile_banner')))]),_vm._v(\" \"),(_vm.bannerPreview)?_c('img',{staticClass:\"banner-background-preview\",attrs:{\"src\":_vm.bannerPreview}}):_vm._e(),_vm._v(\" \"),_c('div',[_c('input',{attrs:{\"type\":\"file\"},on:{\"change\":function($event){return _vm.uploadFile('banner', $event)}}})]),_vm._v(\" \"),(_vm.bannerUploading)?_c('FAIcon',{staticClass:\"uploading\",attrs:{\"spin\":\"\",\"icon\":\"circle-notch\"}}):(_vm.bannerPreview)?_c('button',{staticClass:\"btn button-default\",on:{\"click\":function($event){return _vm.submitBanner(_vm.banner)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.save'))+\"\\n \")]):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.profile_background')))]),_vm._v(\" \"),_c('div',{staticClass:\"banner-background-preview\"},[_c('img',{attrs:{\"src\":_vm.user.background_image}}),_vm._v(\" \"),(!_vm.isDefaultBackground)?_c('FAIcon',{staticClass:\"reset-button\",attrs:{\"title\":_vm.$t('settings.reset_profile_background'),\"icon\":\"times\",\"type\":\"button\"},on:{\"click\":_vm.resetBackground}}):_vm._e()],1),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.set_new_profile_background')))]),_vm._v(\" \"),(_vm.backgroundPreview)?_c('img',{staticClass:\"banner-background-preview\",attrs:{\"src\":_vm.backgroundPreview}}):_vm._e(),_vm._v(\" \"),_c('div',[_c('input',{attrs:{\"type\":\"file\"},on:{\"change\":function($event){return _vm.uploadFile('background', $event)}}})]),_vm._v(\" \"),(_vm.backgroundUploading)?_c('FAIcon',{staticClass:\"uploading\",attrs:{\"spin\":\"\",\"icon\":\"circle-notch\"}}):(_vm.backgroundPreview)?_c('button',{staticClass:\"btn button-default\",on:{\"click\":function($event){return _vm.submitBackground(_vm.background)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.save'))+\"\\n \")]):_vm._e()],1)])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","\n\n\n","/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./interface_language_switcher.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./interface_language_switcher.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-72cb1bd2\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./interface_language_switcher.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('label',{attrs:{\"for\":\"interface-language-switcher\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.interfaceLanguage'))+\"\\n \")]),_vm._v(\" \"),_c('Select',{attrs:{\"id\":\"interface-language-switcher\"},model:{value:(_vm.language),callback:function ($$v) {_vm.language=$$v},expression:\"language\"}},_vm._l((_vm.languages),function(lang){return _c('option',{key:lang.code,domProps:{\"value\":lang.code}},[_vm._v(\"\\n \"+_vm._s(lang.name)+\"\\n \")])}),0)],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import BooleanSetting from '../helpers/boolean_setting.vue'\nimport ChoiceSetting from '../helpers/choice_setting.vue'\nimport InterfaceLanguageSwitcher from 'src/components/interface_language_switcher/interface_language_switcher.vue'\n\nimport SharedComputedObject from '../helpers/shared_computed_object.js'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faGlobe\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faGlobe\n)\n\nconst GeneralTab = {\n data () {\n return {\n subjectLineOptions: ['email', 'noop', 'masto'].map(mode => ({\n key: mode,\n value: mode,\n label: this.$t(`settings.subject_line_${mode === 'masto' ? 'mastodon' : mode}`)\n })),\n loopSilentAvailable:\n // Firefox\n Object.getOwnPropertyDescriptor(HTMLVideoElement.prototype, 'mozHasAudio') ||\n // Chrome-likes\n Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype, 'webkitAudioDecodedByteCount') ||\n // Future spec, still not supported in Nightly 63 as of 08/2018\n Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype, 'audioTracks')\n }\n },\n components: {\n BooleanSetting,\n ChoiceSetting,\n InterfaceLanguageSwitcher\n },\n computed: {\n postFormats () {\n return this.$store.state.instance.postFormats || []\n },\n postContentOptions () {\n return this.postFormats.map(format => ({\n key: format,\n value: format,\n label: this.$t(`post_status.content_type[\"${format}\"]`)\n }))\n },\n instanceSpecificPanelPresent () { return this.$store.state.instance.showInstanceSpecificPanel },\n instanceWallpaperUsed () {\n return this.$store.state.instance.background &&\n !this.$store.state.users.currentUser.background_image\n },\n instanceShoutboxPresent () { return this.$store.state.instance.shoutAvailable },\n ...SharedComputedObject()\n }\n}\n\nexport default GeneralTab\n","/* script */\nexport * from \"!!babel-loader!./general_tab.js\"\nimport __vue_script__ from \"!!babel-loader!./general_tab.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-dc1c5d9a\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./general_tab.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"label\":_vm.$t('settings.general')}},[_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.interface')))]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('interface-language-switcher')],1),_vm._v(\" \"),(_vm.instanceSpecificPanelPresent)?_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"hideISP\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_isp'))+\"\\n \")])],1):_vm._e(),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"sidebarRight\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.right_sidebar'))+\"\\n \")])],1),_vm._v(\" \"),(_vm.instanceWallpaperUsed)?_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"hideInstanceWallpaper\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_wallpaper'))+\"\\n \")])],1):_vm._e(),_vm._v(\" \"),(_vm.instanceShoutboxPresent)?_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"hideShoutbox\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_shoutbox'))+\"\\n \")])],1):_vm._e()])]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('nav.timeline')))]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"hideMutedPosts\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_muted_posts'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"collapseMessageWithSubject\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.collapse_subject'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"streaming\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.streaming'))+\"\\n \")]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list suboptions\",class:[{disabled: !_vm.streaming}]},[_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"pauseOnUnfocused\",\"disabled\":!_vm.streaming}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.pause_on_unfocused'))+\"\\n \")])],1)])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"useStreamingApi\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.useStreamingApi'))+\"\\n \"),_c('br'),_vm._v(\" \"),_c('small',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.useStreamingApiWarning'))+\"\\n \")])])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"emojiReactionsOnTimeline\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.emoji_reactions_on_timeline'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"virtualScrolling\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.virtual_scrolling'))+\"\\n \")])],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.composing')))]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"scopeCopy\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.scope_copy'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"alwaysShowSubjectInput\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.subject_input_always_show'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('ChoiceSetting',{attrs:{\"id\":\"subjectLineBehavior\",\"path\":\"subjectLineBehavior\",\"options\":_vm.subjectLineOptions}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.subject_line_behavior'))+\"\\n \")])],1),_vm._v(\" \"),(_vm.postFormats.length > 0)?_c('li',[_c('ChoiceSetting',{attrs:{\"id\":\"postContentType\",\"path\":\"postContentType\",\"options\":_vm.postContentOptions}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.post_status_content_type'))+\"\\n \")])],1):_vm._e(),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"minimalScopesMode\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.minimal_scopes_mode'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"sensitiveByDefault\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.sensitive_by_default'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"autohideFloatingPostButton\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.autohide_floating_post_button'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"padEmoji\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.pad_emoji'))+\"\\n \")])],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.attachments')))]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"hideAttachments\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_attachments_in_tl'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"hideAttachmentsInConv\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_attachments_in_convo'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('label',{attrs:{\"for\":\"maxThumbnails\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.max_thumbnails'))+\"\\n \")]),_vm._v(\" \"),_c('input',{staticClass:\"number-input\",attrs:{\"id\":\"maxThumbnails\",\"path.number\":\"maxThumbnails\",\"type\":\"number\",\"min\":\"0\",\"step\":\"1\"}})]),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"hideNsfw\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.nsfw_clickthrough'))+\"\\n \")])],1),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list suboptions\"},[_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"preloadImage\",\"disabled\":!_vm.hideNsfw}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.preload_images'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"useOneClickNsfw\",\"disabled\":!_vm.hideNsfw}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.use_one_click_nsfw'))+\"\\n \")])],1)]),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"stopGifs\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.stop_gifs'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"loopVideo\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.loop_video'))+\"\\n \")]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list suboptions\",class:[{disabled: !_vm.streaming}]},[_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"loopVideoSilentOnly\",\"disabled\":!_vm.loopVideo || !_vm.loopSilentAvailable}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.loop_video_silent_only'))+\"\\n \")]),_vm._v(\" \"),(!_vm.loopSilentAvailable)?_c('div',{staticClass:\"unavailable\"},[_c('FAIcon',{attrs:{\"icon\":\"globe\"}}),_vm._v(\"! \"+_vm._s(_vm.$t('settings.limited_availability'))+\"\\n \")],1):_vm._e()],1)])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"playVideosInModal\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.play_videos_in_modal'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"useContainFit\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.use_contain_fit'))+\"\\n \")])],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.notifications')))]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"webPushNotifications\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.enable_web_push_notifications'))+\"\\n \")])],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.fun')))]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"greentext\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.greentext'))+\"\\n \")])],1)])])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import { extractCommit } from 'src/services/version/version.service'\n\nconst pleromaFeCommitUrl = 'https://git.pleroma.social/pleroma/pleroma-fe/commit/'\nconst pleromaBeCommitUrl = 'https://git.pleroma.social/pleroma/pleroma/commit/'\n\nconst VersionTab = {\n data () {\n const instance = this.$store.state.instance\n return {\n backendVersion: instance.backendVersion,\n frontendVersion: instance.frontendVersion\n }\n },\n computed: {\n frontendVersionLink () {\n return pleromaFeCommitUrl + this.frontendVersion\n },\n backendVersionLink () {\n return pleromaBeCommitUrl + extractCommit(this.backendVersion)\n }\n }\n}\n\nexport default VersionTab\n","\nexport const extractCommit = versionString => {\n const regex = /-g(\\w+)/i\n const matches = versionString.match(regex)\n return matches ? matches[1] : ''\n}\n","/* script */\nexport * from \"!!babel-loader!./version_tab.js\"\nimport __vue_script__ from \"!!babel-loader!./version_tab.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-ce257d26\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./version_tab.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"label\":_vm.$t('settings.version.title')}},[_c('div',{staticClass:\"setting-item\"},[_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.version.backend_version')))]),_vm._v(\" \"),_c('ul',{staticClass:\"option-list\"},[_c('li',[_c('a',{attrs:{\"href\":_vm.backendVersionLink,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.backendVersion))])])])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.version.frontend_version')))]),_vm._v(\" \"),_c('ul',{staticClass:\"option-list\"},[_c('li',[_c('a',{attrs:{\"href\":_vm.frontendVersionLink,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.frontendVersion))])])])])])])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","\n\n\n\n\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!./color_input.scss\")\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=1!./color_input.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./color_input.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./color_input.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-77e407b6\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./color_input.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"color-input style-control\",class:{ disabled: !_vm.present || _vm.disabled }},[_c('label',{staticClass:\"label\",attrs:{\"for\":_vm.name}},[_vm._v(\"\\n \"+_vm._s(_vm.label)+\"\\n \")]),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined' && _vm.showOptionalTickbox)?_c('Checkbox',{staticClass:\"opt\",attrs:{\"checked\":_vm.present,\"disabled\":_vm.disabled},on:{\"change\":function($event){return _vm.$emit('input', typeof _vm.value === 'undefined' ? _vm.fallback : undefined)}}}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"input color-input-field\"},[_c('input',{staticClass:\"textColor unstyled\",attrs:{\"id\":_vm.name + '-t',\"type\":\"text\",\"disabled\":!_vm.present || _vm.disabled},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}}),_vm._v(\" \"),(_vm.validColor)?_c('input',{staticClass:\"nativeColor unstyled\",attrs:{\"id\":_vm.name,\"type\":\"color\",\"disabled\":!_vm.present || _vm.disabled},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}}):_vm._e(),_vm._v(\" \"),(_vm.transparentColor)?_c('div',{staticClass:\"transparentIndicator\"}):_vm._e(),_vm._v(\" \"),(_vm.computedColor)?_c('div',{staticClass:\"computedIndicator\",style:({backgroundColor: _vm.fallback})}):_vm._e()])],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./range_input.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./range_input.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6a3c1a26\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./range_input.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","\n\n\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"range-control style-control\",class:{ disabled: !_vm.present || _vm.disabled }},[_c('label',{staticClass:\"label\",attrs:{\"for\":_vm.name}},[_vm._v(\"\\n \"+_vm._s(_vm.label)+\"\\n \")]),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('input',{staticClass:\"opt\",attrs:{\"id\":_vm.name + '-o',\"type\":\"checkbox\"},domProps:{\"checked\":_vm.present},on:{\"input\":function($event){return _vm.$emit('input', !_vm.present ? _vm.fallback : undefined)}}}):_vm._e(),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('label',{staticClass:\"opt-l\",attrs:{\"for\":_vm.name + '-o'}}):_vm._e(),_vm._v(\" \"),_c('input',{staticClass:\"input-number\",attrs:{\"id\":_vm.name,\"type\":\"range\",\"disabled\":!_vm.present || _vm.disabled,\"max\":_vm.max || _vm.hardMax || 100,\"min\":_vm.min || _vm.hardMin || 0,\"step\":_vm.step || 1},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}}),_vm._v(\" \"),_c('input',{staticClass:\"input-number\",attrs:{\"id\":_vm.name,\"type\":\"number\",\"disabled\":!_vm.present || _vm.disabled,\"max\":_vm.hardMax,\"min\":_vm.hardMin,\"step\":_vm.step || 1},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}})])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","\n\n\n","/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./opacity_input.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./opacity_input.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3b48fa39\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./opacity_input.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"opacity-control style-control\",class:{ disabled: !_vm.present || _vm.disabled }},[_c('label',{staticClass:\"label\",attrs:{\"for\":_vm.name}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.common.opacity'))+\"\\n \")]),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('Checkbox',{staticClass:\"opt\",attrs:{\"checked\":_vm.present,\"disabled\":_vm.disabled},on:{\"change\":function($event){return _vm.$emit('input', !_vm.present ? _vm.fallback : undefined)}}}):_vm._e(),_vm._v(\" \"),_c('input',{staticClass:\"input-number\",attrs:{\"id\":_vm.name,\"type\":\"number\",\"disabled\":!_vm.present || _vm.disabled,\"max\":\"1\",\"min\":\"0\",\"step\":\".05\"},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}})],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import ColorInput from '../color_input/color_input.vue'\nimport OpacityInput from '../opacity_input/opacity_input.vue'\nimport Select from '../select/select.vue'\nimport { getCssShadow } from '../../services/style_setter/style_setter.js'\nimport { hex2rgb } from '../../services/color_convert/color_convert.js'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faTimes,\n faChevronDown,\n faChevronUp,\n faPlus\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faChevronDown,\n faChevronUp,\n faTimes,\n faPlus\n)\n\nconst toModel = (object = {}) => ({\n x: 0,\n y: 0,\n blur: 0,\n spread: 0,\n inset: false,\n color: '#000000',\n alpha: 1,\n ...object\n})\n\nexport default {\n // 'Value' and 'Fallback' can be undefined, but if they are\n // initially vue won't detect it when they become something else\n // therefore i'm using \"ready\" which should be passed as true when\n // data becomes available\n props: [\n 'value', 'fallback', 'ready'\n ],\n data () {\n return {\n selectedId: 0,\n // TODO there are some bugs regarding display of array (it's not getting updated when deleting for some reason)\n cValue: (this.value || this.fallback || []).map(toModel)\n }\n },\n components: {\n ColorInput,\n OpacityInput,\n Select\n },\n methods: {\n add () {\n this.cValue.push(toModel(this.selected))\n this.selectedId = this.cValue.length - 1\n },\n del () {\n this.cValue.splice(this.selectedId, 1)\n this.selectedId = this.cValue.length === 0 ? undefined : Math.max(this.selectedId - 1, 0)\n },\n moveUp () {\n const movable = this.cValue.splice(this.selectedId, 1)[0]\n this.cValue.splice(this.selectedId - 1, 0, movable)\n this.selectedId -= 1\n },\n moveDn () {\n const movable = this.cValue.splice(this.selectedId, 1)[0]\n this.cValue.splice(this.selectedId + 1, 0, movable)\n this.selectedId += 1\n }\n },\n beforeUpdate () {\n this.cValue = this.value || this.fallback\n },\n computed: {\n anyShadows () {\n return this.cValue.length > 0\n },\n anyShadowsFallback () {\n return this.fallback.length > 0\n },\n selected () {\n if (this.ready && this.anyShadows) {\n return this.cValue[this.selectedId]\n } else {\n return toModel({})\n }\n },\n currentFallback () {\n if (this.ready && this.anyShadowsFallback) {\n return this.fallback[this.selectedId]\n } else {\n return toModel({})\n }\n },\n moveUpValid () {\n return this.ready && this.selectedId > 0\n },\n moveDnValid () {\n return this.ready && this.selectedId < this.cValue.length - 1\n },\n present () {\n return this.ready &&\n typeof this.cValue[this.selectedId] !== 'undefined' &&\n !this.usingFallback\n },\n usingFallback () {\n return typeof this.value === 'undefined'\n },\n rgb () {\n return hex2rgb(this.selected.color)\n },\n style () {\n return this.ready ? {\n boxShadow: getCssShadow(this.fallback)\n } : {}\n }\n }\n}\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./shadow_control.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./shadow_control.js\"\nimport __vue_script__ from \"!!babel-loader!./shadow_control.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-ee55a534\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./shadow_control.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"shadow-control\",class:{ disabled: !_vm.present }},[_c('div',{staticClass:\"shadow-preview-container\"},[_c('div',{staticClass:\"y-shift-control\",attrs:{\"disabled\":!_vm.present}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.y),expression:\"selected.y\"}],staticClass:\"input-number\",attrs:{\"disabled\":!_vm.present,\"type\":\"number\"},domProps:{\"value\":(_vm.selected.y)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selected, \"y\", $event.target.value)}}}),_vm._v(\" \"),_c('div',{staticClass:\"wrap\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.y),expression:\"selected.y\"}],staticClass:\"input-range\",attrs:{\"disabled\":!_vm.present,\"type\":\"range\",\"max\":\"20\",\"min\":\"-20\"},domProps:{\"value\":(_vm.selected.y)},on:{\"__r\":function($event){return _vm.$set(_vm.selected, \"y\", $event.target.value)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"preview-window\"},[_c('div',{staticClass:\"preview-block\",style:(_vm.style)})]),_vm._v(\" \"),_c('div',{staticClass:\"x-shift-control\",attrs:{\"disabled\":!_vm.present}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.x),expression:\"selected.x\"}],staticClass:\"input-number\",attrs:{\"disabled\":!_vm.present,\"type\":\"number\"},domProps:{\"value\":(_vm.selected.x)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selected, \"x\", $event.target.value)}}}),_vm._v(\" \"),_c('div',{staticClass:\"wrap\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.x),expression:\"selected.x\"}],staticClass:\"input-range\",attrs:{\"disabled\":!_vm.present,\"type\":\"range\",\"max\":\"20\",\"min\":\"-20\"},domProps:{\"value\":(_vm.selected.x)},on:{\"__r\":function($event){return _vm.$set(_vm.selected, \"x\", $event.target.value)}}})])])]),_vm._v(\" \"),_c('div',{staticClass:\"shadow-tweak\"},[_c('div',{staticClass:\"id-control style-control\",attrs:{\"disabled\":_vm.usingFallback}},[_c('Select',{staticClass:\"shadow-switcher\",attrs:{\"id\":\"shadow-switcher\",\"disabled\":!_vm.ready || _vm.usingFallback},model:{value:(_vm.selectedId),callback:function ($$v) {_vm.selectedId=$$v},expression:\"selectedId\"}},_vm._l((_vm.cValue),function(shadow,index){return _c('option',{key:index,domProps:{\"value\":index}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.shadow_id', { value: index }))+\"\\n \")])}),0),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":!_vm.ready || !_vm.present},on:{\"click\":_vm.del}},[_c('FAIcon',{attrs:{\"fixed-width\":\"\",\"icon\":\"times\"}})],1),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":!_vm.moveUpValid},on:{\"click\":_vm.moveUp}},[_c('FAIcon',{attrs:{\"fixed-width\":\"\",\"icon\":\"chevron-up\"}})],1),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":!_vm.moveDnValid},on:{\"click\":_vm.moveDn}},[_c('FAIcon',{attrs:{\"fixed-width\":\"\",\"icon\":\"chevron-down\"}})],1),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":_vm.usingFallback},on:{\"click\":_vm.add}},[_c('FAIcon',{attrs:{\"fixed-width\":\"\",\"icon\":\"plus\"}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"inset-control style-control\",attrs:{\"disabled\":!_vm.present}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"inset\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.inset'))+\"\\n \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.inset),expression:\"selected.inset\"}],staticClass:\"input-inset\",attrs:{\"id\":\"inset\",\"disabled\":!_vm.present,\"name\":\"inset\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.selected.inset)?_vm._i(_vm.selected.inset,null)>-1:(_vm.selected.inset)},on:{\"change\":function($event){var $$a=_vm.selected.inset,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.selected, \"inset\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.selected, \"inset\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.selected, \"inset\", $$c)}}}}),_vm._v(\" \"),_c('label',{staticClass:\"checkbox-label\",attrs:{\"for\":\"inset\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"blur-control style-control\",attrs:{\"disabled\":!_vm.present}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"spread\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.blur'))+\"\\n \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.blur),expression:\"selected.blur\"}],staticClass:\"input-range\",attrs:{\"id\":\"blur\",\"disabled\":!_vm.present,\"name\":\"blur\",\"type\":\"range\",\"max\":\"20\",\"min\":\"0\"},domProps:{\"value\":(_vm.selected.blur)},on:{\"__r\":function($event){return _vm.$set(_vm.selected, \"blur\", $event.target.value)}}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.blur),expression:\"selected.blur\"}],staticClass:\"input-number\",attrs:{\"disabled\":!_vm.present,\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(_vm.selected.blur)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selected, \"blur\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"spread-control style-control\",attrs:{\"disabled\":!_vm.present}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"spread\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.spread'))+\"\\n \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.spread),expression:\"selected.spread\"}],staticClass:\"input-range\",attrs:{\"id\":\"spread\",\"disabled\":!_vm.present,\"name\":\"spread\",\"type\":\"range\",\"max\":\"20\",\"min\":\"-20\"},domProps:{\"value\":(_vm.selected.spread)},on:{\"__r\":function($event){return _vm.$set(_vm.selected, \"spread\", $event.target.value)}}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.spread),expression:\"selected.spread\"}],staticClass:\"input-number\",attrs:{\"disabled\":!_vm.present,\"type\":\"number\"},domProps:{\"value\":(_vm.selected.spread)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selected, \"spread\", $event.target.value)}}})]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"disabled\":!_vm.present,\"label\":_vm.$t('settings.style.common.color'),\"fallback\":_vm.currentFallback.color,\"show-optional-tickbox\":false,\"name\":\"shadow\"},model:{value:(_vm.selected.color),callback:function ($$v) {_vm.$set(_vm.selected, \"color\", $$v)},expression:\"selected.color\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"disabled\":!_vm.present},model:{value:(_vm.selected.alpha),callback:function ($$v) {_vm.$set(_vm.selected, \"alpha\", $$v)},expression:\"selected.alpha\"}}),_vm._v(\" \"),_c('i18n',{attrs:{\"path\":\"settings.style.shadows.hintV3\",\"tag\":\"p\"}},[_c('code',[_vm._v(\"--variable,mod\")])])],1)])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import { set } from 'vue'\nimport Select from '../select/select.vue'\n\nexport default {\n components: {\n Select\n },\n props: [\n 'name', 'label', 'value', 'fallback', 'options', 'no-inherit'\n ],\n data () {\n return {\n lValue: this.value,\n availableOptions: [\n this.noInherit ? '' : 'inherit',\n 'custom',\n ...(this.options || []),\n 'serif',\n 'monospace',\n 'sans-serif'\n ].filter(_ => _)\n }\n },\n beforeUpdate () {\n this.lValue = this.value\n },\n computed: {\n present () {\n return typeof this.lValue !== 'undefined'\n },\n dValue () {\n return this.lValue || this.fallback || {}\n },\n family: {\n get () {\n return this.dValue.family\n },\n set (v) {\n set(this.lValue, 'family', v)\n this.$emit('input', this.lValue)\n }\n },\n isCustom () {\n return this.preset === 'custom'\n },\n preset: {\n get () {\n if (this.family === 'serif' ||\n this.family === 'sans-serif' ||\n this.family === 'monospace' ||\n this.family === 'inherit') {\n return this.family\n } else {\n return 'custom'\n }\n },\n set (v) {\n this.family = v === 'custom' ? '' : v\n }\n }\n }\n}\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./font_control.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./font_control.js\"\nimport __vue_script__ from \"!!babel-loader!./font_control.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-132a42de\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./font_control.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"font-control style-control\",class:{ custom: _vm.isCustom }},[_c('label',{staticClass:\"label\",attrs:{\"for\":_vm.preset === 'custom' ? _vm.name : _vm.name + '-font-switcher'}},[_vm._v(\"\\n \"+_vm._s(_vm.label)+\"\\n \")]),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('input',{staticClass:\"opt exlcude-disabled\",attrs:{\"id\":_vm.name + '-o',\"type\":\"checkbox\"},domProps:{\"checked\":_vm.present},on:{\"input\":function($event){return _vm.$emit('input', typeof _vm.value === 'undefined' ? _vm.fallback : undefined)}}}):_vm._e(),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('label',{staticClass:\"opt-l\",attrs:{\"for\":_vm.name + '-o'}}):_vm._e(),_vm._v(\" \"),_c('Select',{staticClass:\"font-switcher\",attrs:{\"id\":_vm.name + '-font-switcher',\"disabled\":!_vm.present},model:{value:(_vm.preset),callback:function ($$v) {_vm.preset=$$v},expression:\"preset\"}},_vm._l((_vm.availableOptions),function(option){return _c('option',{key:option,domProps:{\"value\":option}},[_vm._v(\"\\n \"+_vm._s(option === 'custom' ? _vm.$t('settings.style.fonts.custom') : option)+\"\\n \")])}),0),_vm._v(\" \"),(_vm.isCustom)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.family),expression:\"family\"}],staticClass:\"custom-font\",attrs:{\"id\":_vm.name,\"type\":\"text\"},domProps:{\"value\":(_vm.family)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.family=$event.target.value}}}):_vm._e()],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","\n\n\n\n\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./contrast_ratio.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./contrast_ratio.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./contrast_ratio.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6d90b7c4\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./contrast_ratio.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.contrast)?_c('span',{staticClass:\"contrast-ratio\"},[_c('span',{staticClass:\"rating\",attrs:{\"title\":_vm.hint}},[(_vm.contrast.aaa)?_c('span',[_c('FAIcon',{attrs:{\"icon\":\"thumbs-up\"}})],1):_vm._e(),_vm._v(\" \"),(!_vm.contrast.aaa && _vm.contrast.aa)?_c('span',[_c('FAIcon',{attrs:{\"icon\":\"adjust\"}})],1):_vm._e(),_vm._v(\" \"),(!_vm.contrast.aaa && !_vm.contrast.aa)?_c('span',[_c('FAIcon',{attrs:{\"icon\":\"exclamation-triangle\"}})],1):_vm._e()]),_vm._v(\" \"),(_vm.contrast && _vm.large)?_c('span',{staticClass:\"rating\",attrs:{\"title\":_vm.hint_18pt}},[(_vm.contrast.laaa)?_c('span',[_c('FAIcon',{attrs:{\"icon\":\"thumbs-up\"}})],1):_vm._e(),_vm._v(\" \"),(!_vm.contrast.laaa && _vm.contrast.laa)?_c('span',[_c('FAIcon',{attrs:{\"icon\":\"adjust\"}})],1):_vm._e(),_vm._v(\" \"),(!_vm.contrast.laaa && !_vm.contrast.laa)?_c('span',[_c('FAIcon',{attrs:{\"icon\":\"exclamation-triangle\"}})],1):_vm._e()]):_vm._e()]):_vm._e()}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","\n\n\n\n\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./preview.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./preview.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./preview.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1d0bb165\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./preview.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"preview-container\"},[_c('div',{staticClass:\"underlay underlay-preview\"}),_vm._v(\" \"),_c('div',{staticClass:\"panel dummy\"},[_c('div',{staticClass:\"panel-heading\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.header'))+\"\\n \"),_c('span',{staticClass:\"badge badge-notification\"},[_vm._v(\"\\n 99\\n \")])]),_vm._v(\" \"),_c('span',{staticClass:\"faint\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.header_faint'))+\"\\n \")]),_vm._v(\" \"),_c('span',{staticClass:\"alert error\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.error'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.button'))+\"\\n \")])]),_vm._v(\" \"),_c('div',{staticClass:\"panel-body theme-preview-content\"},[_c('div',{staticClass:\"post\"},[_c('div',{staticClass:\"avatar still-image\"},[_vm._v(\"\\n ( ͡° ͜ʖ ͡°)\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"content\"},[_c('h4',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.content'))+\"\\n \")]),_vm._v(\" \"),_c('i18n',{attrs:{\"path\":\"settings.style.preview.text\"}},[_c('code',{staticStyle:{\"font-family\":\"var(--postCodeFont)\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.mono'))+\"\\n \")]),_vm._v(\" \"),_c('a',{staticStyle:{\"color\":\"var(--link)\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.link'))+\"\\n \")])]),_vm._v(\" \"),_c('div',{staticClass:\"icons\"},[_c('FAIcon',{staticClass:\"fa-scale-110 fa-old-padding\",staticStyle:{\"color\":\"var(--cBlue)\"},attrs:{\"fixed-width\":\"\",\"icon\":\"reply\"}}),_vm._v(\" \"),_c('FAIcon',{staticClass:\"fa-scale-110 fa-old-padding\",staticStyle:{\"color\":\"var(--cGreen)\"},attrs:{\"fixed-width\":\"\",\"icon\":\"retweet\"}}),_vm._v(\" \"),_c('FAIcon',{staticClass:\"fa-scale-110 fa-old-padding\",staticStyle:{\"color\":\"var(--cOrange)\"},attrs:{\"fixed-width\":\"\",\"icon\":\"star\"}}),_vm._v(\" \"),_c('FAIcon',{staticClass:\"fa-scale-110 fa-old-padding\",staticStyle:{\"color\":\"var(--cRed)\"},attrs:{\"fixed-width\":\"\",\"icon\":\"times\"}})],1)],1)]),_vm._v(\" \"),_c('div',{staticClass:\"after-post\"},[_c('div',{staticClass:\"avatar-alt\"},[_vm._v(\"\\n :^)\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"content\"},[_c('i18n',{staticClass:\"faint\",attrs:{\"path\":\"settings.style.preview.fine_print\",\"tag\":\"span\"}},[_c('a',{staticStyle:{\"color\":\"var(--faintLink)\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.faint_link'))+\"\\n \")])])],1)]),_vm._v(\" \"),_c('div',{staticClass:\"separator\"}),_vm._v(\" \"),_c('span',{staticClass:\"alert error\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.error'))+\"\\n \")]),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"text\"},domProps:{\"value\":_vm.$t('settings.style.preview.input')}}),_vm._v(\" \"),_c('div',{staticClass:\"actions\"},[_c('span',{staticClass:\"checkbox\"},[_c('input',{attrs:{\"id\":\"preview_checkbox\",\"checked\":\"very yes\",\"type\":\"checkbox\"}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"preview_checkbox\"}},[_vm._v(_vm._s(_vm.$t('settings.style.preview.checkbox')))])]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.button'))+\"\\n \")])])])])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import { set, delete as del } from 'vue'\nimport {\n rgb2hex,\n hex2rgb,\n getContrastRatioLayers\n} from 'src/services/color_convert/color_convert.js'\nimport {\n DEFAULT_SHADOWS,\n generateColors,\n generateShadows,\n generateRadii,\n generateFonts,\n composePreset,\n getThemes,\n shadows2to3,\n colors2to3\n} from 'src/services/style_setter/style_setter.js'\nimport {\n newImporter,\n newExporter\n} from 'src/services/export_import/export_import.js'\nimport {\n SLOT_INHERITANCE\n} from 'src/services/theme_data/pleromafe.js'\nimport {\n CURRENT_VERSION,\n OPACITIES,\n getLayers,\n getOpacitySlot\n} from 'src/services/theme_data/theme_data.service.js'\nimport ColorInput from 'src/components/color_input/color_input.vue'\nimport RangeInput from 'src/components/range_input/range_input.vue'\nimport OpacityInput from 'src/components/opacity_input/opacity_input.vue'\nimport ShadowControl from 'src/components/shadow_control/shadow_control.vue'\nimport FontControl from 'src/components/font_control/font_control.vue'\nimport ContrastRatio from 'src/components/contrast_ratio/contrast_ratio.vue'\nimport TabSwitcher from 'src/components/tab_switcher/tab_switcher.js'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\nimport Select from 'src/components/select/select.vue'\n\nimport Preview from './preview.vue'\n\n// List of color values used in v1\nconst v1OnlyNames = [\n 'bg',\n 'fg',\n 'text',\n 'link',\n 'cRed',\n 'cGreen',\n 'cBlue',\n 'cOrange'\n].map(_ => _ + 'ColorLocal')\n\nconst colorConvert = (color) => {\n if (color.startsWith('--') || color === 'transparent') {\n return color\n } else {\n return hex2rgb(color)\n }\n}\n\nexport default {\n data () {\n return {\n themeImporter: newImporter({\n validator: this.importValidator,\n onImport: this.onImport,\n onImportFailure: this.onImportFailure\n }),\n themeExporter: newExporter({\n filename: 'pleroma_theme',\n getExportedObject: () => this.exportedTheme\n }),\n availableStyles: [],\n selected: '',\n selectedTheme: this.$store.getters.mergedConfig.theme,\n themeWarning: undefined,\n tempImportFile: undefined,\n engineVersion: 0,\n\n previewShadows: {},\n previewColors: {},\n previewRadii: {},\n previewFonts: {},\n\n shadowsInvalid: true,\n colorsInvalid: true,\n radiiInvalid: true,\n\n keepColor: false,\n keepShadows: false,\n keepOpacity: false,\n keepRoundness: false,\n keepFonts: false,\n\n ...Object.keys(SLOT_INHERITANCE)\n .map(key => [key, ''])\n .reduce((acc, [key, val]) => ({ ...acc, [ key + 'ColorLocal' ]: val }), {}),\n\n ...Object.keys(OPACITIES)\n .map(key => [key, ''])\n .reduce((acc, [key, val]) => ({ ...acc, [ key + 'OpacityLocal' ]: val }), {}),\n\n shadowSelected: undefined,\n shadowsLocal: {},\n fontsLocal: {},\n\n btnRadiusLocal: '',\n inputRadiusLocal: '',\n checkboxRadiusLocal: '',\n panelRadiusLocal: '',\n avatarRadiusLocal: '',\n avatarAltRadiusLocal: '',\n attachmentRadiusLocal: '',\n tooltipRadiusLocal: '',\n chatMessageRadiusLocal: ''\n }\n },\n created () {\n const self = this\n\n getThemes()\n .then((promises) => {\n return Promise.all(\n Object.entries(promises)\n .map(([k, v]) => v.then(res => [k, res]))\n )\n })\n .then(themes => themes.reduce((acc, [k, v]) => {\n if (v) {\n return {\n ...acc,\n [k]: v\n }\n } else {\n return acc\n }\n }, {}))\n .then((themesComplete) => {\n self.availableStyles = themesComplete\n })\n },\n mounted () {\n this.loadThemeFromLocalStorage()\n if (typeof this.shadowSelected === 'undefined') {\n this.shadowSelected = this.shadowsAvailable[0]\n }\n },\n computed: {\n themeWarningHelp () {\n if (!this.themeWarning) return\n const t = this.$t\n const pre = 'settings.style.switcher.help.'\n const {\n origin,\n themeEngineVersion,\n type,\n noActionsPossible\n } = this.themeWarning\n if (origin === 'file') {\n // Loaded v2 theme from file\n if (themeEngineVersion === 2 && type === 'wrong_version') {\n return t(pre + 'v2_imported')\n }\n if (themeEngineVersion > CURRENT_VERSION) {\n return t(pre + 'future_version_imported') + ' ' +\n (\n noActionsPossible\n ? t(pre + 'snapshot_missing')\n : t(pre + 'snapshot_present')\n )\n }\n if (themeEngineVersion < CURRENT_VERSION) {\n return t(pre + 'future_version_imported') + ' ' +\n (\n noActionsPossible\n ? t(pre + 'snapshot_missing')\n : t(pre + 'snapshot_present')\n )\n }\n } else if (origin === 'localStorage') {\n if (type === 'snapshot_source_mismatch') {\n return t(pre + 'snapshot_source_mismatch')\n }\n // FE upgraded from v2\n if (themeEngineVersion === 2) {\n return t(pre + 'upgraded_from_v2')\n }\n // Admin downgraded FE\n if (themeEngineVersion > CURRENT_VERSION) {\n return t(pre + 'fe_downgraded') + ' ' +\n (\n noActionsPossible\n ? t(pre + 'migration_snapshot_ok')\n : t(pre + 'migration_snapshot_gone')\n )\n }\n // Admin upgraded FE\n if (themeEngineVersion < CURRENT_VERSION) {\n return t(pre + 'fe_upgraded') + ' ' +\n (\n noActionsPossible\n ? t(pre + 'migration_snapshot_ok')\n : t(pre + 'migration_snapshot_gone')\n )\n }\n }\n },\n selectedVersion () {\n return Array.isArray(this.selectedTheme) ? 1 : 2\n },\n currentColors () {\n return Object.keys(SLOT_INHERITANCE)\n .map(key => [key, this[key + 'ColorLocal']])\n .reduce((acc, [key, val]) => ({ ...acc, [ key ]: val }), {})\n },\n currentOpacity () {\n return Object.keys(OPACITIES)\n .map(key => [key, this[key + 'OpacityLocal']])\n .reduce((acc, [key, val]) => ({ ...acc, [ key ]: val }), {})\n },\n currentRadii () {\n return {\n btn: this.btnRadiusLocal,\n input: this.inputRadiusLocal,\n checkbox: this.checkboxRadiusLocal,\n panel: this.panelRadiusLocal,\n avatar: this.avatarRadiusLocal,\n avatarAlt: this.avatarAltRadiusLocal,\n tooltip: this.tooltipRadiusLocal,\n attachment: this.attachmentRadiusLocal,\n chatMessage: this.chatMessageRadiusLocal\n }\n },\n preview () {\n return composePreset(this.previewColors, this.previewRadii, this.previewShadows, this.previewFonts)\n },\n previewTheme () {\n if (!this.preview.theme.colors) return { colors: {}, opacity: {}, radii: {}, shadows: {}, fonts: {} }\n return this.preview.theme\n },\n // This needs optimization maybe\n previewContrast () {\n try {\n if (!this.previewTheme.colors.bg) return {}\n const colors = this.previewTheme.colors\n const opacity = this.previewTheme.opacity\n if (!colors.bg) return {}\n const hints = (ratio) => ({\n text: ratio.toPrecision(3) + ':1',\n // AA level, AAA level\n aa: ratio >= 4.5,\n aaa: ratio >= 7,\n // same but for 18pt+ texts\n laa: ratio >= 3,\n laaa: ratio >= 4.5\n })\n const colorsConverted = Object.entries(colors).reduce((acc, [key, value]) => ({ ...acc, [key]: colorConvert(value) }), {})\n\n const ratios = Object.entries(SLOT_INHERITANCE).reduce((acc, [key, value]) => {\n const slotIsBaseText = key === 'text' || key === 'link'\n const slotIsText = slotIsBaseText || (\n typeof value === 'object' && value !== null && value.textColor\n )\n if (!slotIsText) return acc\n const { layer, variant } = slotIsBaseText ? { layer: 'bg' } : value\n const background = variant || layer\n const opacitySlot = getOpacitySlot(background)\n const textColors = [\n key,\n ...(background === 'bg' ? ['cRed', 'cGreen', 'cBlue', 'cOrange'] : [])\n ]\n\n const layers = getLayers(\n layer,\n variant || layer,\n opacitySlot,\n colorsConverted,\n opacity\n )\n\n return {\n ...acc,\n ...textColors.reduce((acc, textColorKey) => {\n const newKey = slotIsBaseText\n ? 'bg' + textColorKey[0].toUpperCase() + textColorKey.slice(1)\n : textColorKey\n return {\n ...acc,\n [newKey]: getContrastRatioLayers(\n colorsConverted[textColorKey],\n layers,\n colorsConverted[textColorKey]\n )\n }\n }, {})\n }\n }, {})\n\n return Object.entries(ratios).reduce((acc, [k, v]) => { acc[k] = hints(v); return acc }, {})\n } catch (e) {\n console.warn('Failure computing contrasts', e)\n }\n },\n previewRules () {\n if (!this.preview.rules) return ''\n return [\n ...Object.values(this.preview.rules),\n 'color: var(--text)',\n 'font-family: var(--interfaceFont, sans-serif)'\n ].join(';')\n },\n shadowsAvailable () {\n return Object.keys(DEFAULT_SHADOWS).sort()\n },\n currentShadowOverriden: {\n get () {\n return !!this.currentShadow\n },\n set (val) {\n if (val) {\n set(this.shadowsLocal, this.shadowSelected, this.currentShadowFallback.map(_ => Object.assign({}, _)))\n } else {\n del(this.shadowsLocal, this.shadowSelected)\n }\n }\n },\n currentShadowFallback () {\n return (this.previewTheme.shadows || {})[this.shadowSelected]\n },\n currentShadow: {\n get () {\n return this.shadowsLocal[this.shadowSelected]\n },\n set (v) {\n set(this.shadowsLocal, this.shadowSelected, v)\n }\n },\n themeValid () {\n return !this.shadowsInvalid && !this.colorsInvalid && !this.radiiInvalid\n },\n exportedTheme () {\n const saveEverything = (\n !this.keepFonts &&\n !this.keepShadows &&\n !this.keepOpacity &&\n !this.keepRoundness &&\n !this.keepColor\n )\n\n const source = {\n themeEngineVersion: CURRENT_VERSION\n }\n\n if (this.keepFonts || saveEverything) {\n source.fonts = this.fontsLocal\n }\n if (this.keepShadows || saveEverything) {\n source.shadows = this.shadowsLocal\n }\n if (this.keepOpacity || saveEverything) {\n source.opacity = this.currentOpacity\n }\n if (this.keepColor || saveEverything) {\n source.colors = this.currentColors\n }\n if (this.keepRoundness || saveEverything) {\n source.radii = this.currentRadii\n }\n\n const theme = {\n themeEngineVersion: CURRENT_VERSION,\n ...this.previewTheme\n }\n\n return {\n // To separate from other random JSON files and possible future source formats\n _pleroma_theme_version: 2, theme, source\n }\n }\n },\n components: {\n ColorInput,\n OpacityInput,\n RangeInput,\n ContrastRatio,\n ShadowControl,\n FontControl,\n TabSwitcher,\n Preview,\n Checkbox,\n Select\n },\n methods: {\n loadTheme (\n {\n theme,\n source,\n _pleroma_theme_version: fileVersion\n },\n origin,\n forceUseSource = false\n ) {\n this.dismissWarning()\n if (!source && !theme) {\n throw new Error('Can\\'t load theme: empty')\n }\n const version = (origin === 'localStorage' && !theme.colors)\n ? 'l1'\n : fileVersion\n const snapshotEngineVersion = (theme || {}).themeEngineVersion\n const themeEngineVersion = (source || {}).themeEngineVersion || 2\n const versionsMatch = themeEngineVersion === CURRENT_VERSION\n const sourceSnapshotMismatch = (\n theme !== undefined &&\n source !== undefined &&\n themeEngineVersion !== snapshotEngineVersion\n )\n // Force loading of source if user requested it or if snapshot\n // is unavailable\n const forcedSourceLoad = (source && forceUseSource) || !theme\n if (!(versionsMatch && !sourceSnapshotMismatch) &&\n !forcedSourceLoad &&\n version !== 'l1' &&\n origin !== 'defaults'\n ) {\n if (sourceSnapshotMismatch && origin === 'localStorage') {\n this.themeWarning = {\n origin,\n themeEngineVersion,\n type: 'snapshot_source_mismatch'\n }\n } else if (!theme) {\n this.themeWarning = {\n origin,\n noActionsPossible: true,\n themeEngineVersion,\n type: 'no_snapshot_old_version'\n }\n } else if (!versionsMatch) {\n this.themeWarning = {\n origin,\n noActionsPossible: !source,\n themeEngineVersion,\n type: 'wrong_version'\n }\n }\n }\n this.normalizeLocalState(theme, version, source, forcedSourceLoad)\n },\n forceLoadLocalStorage () {\n this.loadThemeFromLocalStorage(true)\n },\n dismissWarning () {\n this.themeWarning = undefined\n this.tempImportFile = undefined\n },\n forceLoad () {\n const { origin } = this.themeWarning\n switch (origin) {\n case 'localStorage':\n this.loadThemeFromLocalStorage(true)\n break\n case 'file':\n this.onImport(this.tempImportFile, true)\n break\n }\n this.dismissWarning()\n },\n forceSnapshot () {\n const { origin } = this.themeWarning\n switch (origin) {\n case 'localStorage':\n this.loadThemeFromLocalStorage(false, true)\n break\n case 'file':\n console.err('Forcing snapshout from file is not supported yet')\n break\n }\n this.dismissWarning()\n },\n loadThemeFromLocalStorage (confirmLoadSource = false, forceSnapshot = false) {\n const {\n customTheme: theme,\n customThemeSource: source\n } = this.$store.getters.mergedConfig\n if (!theme && !source) {\n // Anon user or never touched themes\n this.loadTheme(\n this.$store.state.instance.themeData,\n 'defaults',\n confirmLoadSource\n )\n } else {\n this.loadTheme(\n {\n theme,\n source: forceSnapshot ? theme : source\n },\n 'localStorage',\n confirmLoadSource\n )\n }\n },\n setCustomTheme () {\n this.$store.dispatch('setOption', {\n name: 'customTheme',\n value: {\n themeEngineVersion: CURRENT_VERSION,\n ...this.previewTheme\n }\n })\n this.$store.dispatch('setOption', {\n name: 'customThemeSource',\n value: {\n themeEngineVersion: CURRENT_VERSION,\n shadows: this.shadowsLocal,\n fonts: this.fontsLocal,\n opacity: this.currentOpacity,\n colors: this.currentColors,\n radii: this.currentRadii\n }\n })\n },\n updatePreviewColorsAndShadows () {\n this.previewColors = generateColors({\n opacity: this.currentOpacity,\n colors: this.currentColors\n })\n this.previewShadows = generateShadows(\n { shadows: this.shadowsLocal, opacity: this.previewTheme.opacity, themeEngineVersion: this.engineVersion },\n this.previewColors.theme.colors,\n this.previewColors.mod\n )\n },\n importTheme () { this.themeImporter.importData() },\n exportTheme () { this.themeExporter.exportData() },\n onImport (parsed, forceSource = false) {\n this.tempImportFile = parsed\n this.loadTheme(parsed, 'file', forceSource)\n },\n onImportFailure (result) {\n this.$store.dispatch('pushGlobalNotice', { messageKey: 'settings.invalid_theme_imported', level: 'error' })\n },\n importValidator (parsed) {\n const version = parsed._pleroma_theme_version\n return version >= 1 || version <= 2\n },\n clearAll () {\n this.loadThemeFromLocalStorage()\n },\n\n // Clears all the extra stuff when loading V1 theme\n clearV1 () {\n Object.keys(this.$data)\n .filter(_ => _.endsWith('ColorLocal') || _.endsWith('OpacityLocal'))\n .filter(_ => !v1OnlyNames.includes(_))\n .forEach(key => {\n set(this.$data, key, undefined)\n })\n },\n\n clearRoundness () {\n Object.keys(this.$data)\n .filter(_ => _.endsWith('RadiusLocal'))\n .forEach(key => {\n set(this.$data, key, undefined)\n })\n },\n\n clearOpacity () {\n Object.keys(this.$data)\n .filter(_ => _.endsWith('OpacityLocal'))\n .forEach(key => {\n set(this.$data, key, undefined)\n })\n },\n\n clearShadows () {\n this.shadowsLocal = {}\n },\n\n clearFonts () {\n this.fontsLocal = {}\n },\n\n /**\n * This applies stored theme data onto form. Supports three versions of data:\n * v3 (version >= 3) - newest version of themes which supports snapshots for better compatiblity\n * v2 (version = 2) - newer version of themes.\n * v1 (version = 1) - older version of themes (import from file)\n * v1l (version = l1) - older version of theme (load from local storage)\n * v1 and v1l differ because of way themes were stored/exported.\n * @param {Object} theme - theme data (snapshot)\n * @param {Number} version - version of data. 0 means try to guess based on data. \"l1\" means v1, locastorage type\n * @param {Object} source - theme source - this will be used if compatible\n * @param {Boolean} source - by default source won't be used if version doesn't match since it might render differently\n * this allows importing source anyway\n */\n normalizeLocalState (theme, version = 0, source, forceSource = false) {\n let input\n if (typeof source !== 'undefined') {\n if (forceSource || source.themeEngineVersion === CURRENT_VERSION) {\n input = source\n version = source.themeEngineVersion\n } else {\n input = theme\n }\n } else {\n input = theme\n }\n\n const radii = input.radii || input\n const opacity = input.opacity\n const shadows = input.shadows || {}\n const fonts = input.fonts || {}\n const colors = !input.themeEngineVersion\n ? colors2to3(input.colors || input)\n : input.colors || input\n\n if (version === 0) {\n if (input.version) version = input.version\n // Old v1 naming: fg is text, btn is foreground\n if (typeof colors.text === 'undefined' && typeof colors.fg !== 'undefined') {\n version = 1\n }\n // New v2 naming: text is text, fg is foreground\n if (typeof colors.text !== 'undefined' && typeof colors.fg !== 'undefined') {\n version = 2\n }\n }\n\n this.engineVersion = version\n\n // Stuff that differs between V1 and V2\n if (version === 1) {\n this.fgColorLocal = rgb2hex(colors.btn)\n this.textColorLocal = rgb2hex(colors.fg)\n }\n\n if (!this.keepColor) {\n this.clearV1()\n const keys = new Set(version !== 1 ? Object.keys(SLOT_INHERITANCE) : [])\n if (version === 1 || version === 'l1') {\n keys\n .add('bg')\n .add('link')\n .add('cRed')\n .add('cBlue')\n .add('cGreen')\n .add('cOrange')\n }\n\n keys.forEach(key => {\n const color = colors[key]\n const hex = rgb2hex(colors[key])\n this[key + 'ColorLocal'] = hex === '#aN' ? color : hex\n })\n }\n\n if (opacity && !this.keepOpacity) {\n this.clearOpacity()\n Object.entries(opacity).forEach(([k, v]) => {\n if (typeof v === 'undefined' || v === null || Number.isNaN(v)) return\n this[k + 'OpacityLocal'] = v\n })\n }\n\n if (!this.keepRoundness) {\n this.clearRoundness()\n Object.entries(radii).forEach(([k, v]) => {\n // 'Radius' is kept mostly for v1->v2 localstorage transition\n const key = k.endsWith('Radius') ? k.split('Radius')[0] : k\n this[key + 'RadiusLocal'] = v\n })\n }\n\n if (!this.keepShadows) {\n this.clearShadows()\n if (version === 2) {\n this.shadowsLocal = shadows2to3(shadows, this.previewTheme.opacity)\n } else {\n this.shadowsLocal = shadows\n }\n this.shadowSelected = this.shadowsAvailable[0]\n }\n\n if (!this.keepFonts) {\n this.clearFonts()\n this.fontsLocal = fonts\n }\n }\n },\n watch: {\n currentRadii () {\n try {\n this.previewRadii = generateRadii({ radii: this.currentRadii })\n this.radiiInvalid = false\n } catch (e) {\n this.radiiInvalid = true\n console.warn(e)\n }\n },\n shadowsLocal: {\n handler () {\n if (Object.getOwnPropertyNames(this.previewColors).length === 1) return\n try {\n this.updatePreviewColorsAndShadows()\n this.shadowsInvalid = false\n } catch (e) {\n this.shadowsInvalid = true\n console.warn(e)\n }\n },\n deep: true\n },\n fontsLocal: {\n handler () {\n try {\n this.previewFonts = generateFonts({ fonts: this.fontsLocal })\n this.fontsInvalid = false\n } catch (e) {\n this.fontsInvalid = true\n console.warn(e)\n }\n },\n deep: true\n },\n currentColors () {\n try {\n this.updatePreviewColorsAndShadows()\n this.colorsInvalid = false\n this.shadowsInvalid = false\n } catch (e) {\n this.colorsInvalid = true\n this.shadowsInvalid = true\n console.warn(e)\n }\n },\n currentOpacity () {\n try {\n this.updatePreviewColorsAndShadows()\n } catch (e) {\n console.warn(e)\n }\n },\n selected () {\n this.selectedTheme = Object.entries(this.availableStyles).find(([k, s]) => {\n if (Array.isArray(s)) {\n console.log(s[0] === this.selected, this.selected)\n return s[0] === this.selected\n } else {\n return s.name === this.selected\n }\n })[1]\n },\n selectedTheme () {\n this.dismissWarning()\n if (this.selectedVersion === 1) {\n if (!this.keepRoundness) {\n this.clearRoundness()\n }\n\n if (!this.keepShadows) {\n this.clearShadows()\n }\n\n if (!this.keepOpacity) {\n this.clearOpacity()\n }\n\n if (!this.keepColor) {\n this.clearV1()\n\n this.bgColorLocal = this.selectedTheme[1]\n this.fgColorLocal = this.selectedTheme[2]\n this.textColorLocal = this.selectedTheme[3]\n this.linkColorLocal = this.selectedTheme[4]\n this.cRedColorLocal = this.selectedTheme[5]\n this.cGreenColorLocal = this.selectedTheme[6]\n this.cBlueColorLocal = this.selectedTheme[7]\n this.cOrangeColorLocal = this.selectedTheme[8]\n }\n } else if (this.selectedVersion >= 2) {\n this.normalizeLocalState(this.selectedTheme.theme, 2, this.selectedTheme.source)\n }\n }\n }\n}\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!./theme_tab.scss\")\n}\n/* script */\nexport * from \"!!babel-loader!./theme_tab.js\"\nimport __vue_script__ from \"!!babel-loader!./theme_tab.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-400e19a1\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./theme_tab.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"theme-tab\"},[_c('div',{staticClass:\"presets-container\"},[_c('div',{staticClass:\"save-load\"},[(_vm.themeWarning)?_c('div',{staticClass:\"theme-warning\"},[_c('div',{staticClass:\"alert warning\"},[_vm._v(\"\\n \"+_vm._s(_vm.themeWarningHelp)+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"buttons\"},[(_vm.themeWarning.type === 'snapshot_source_mismatch')?[_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.forceLoad}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.use_source'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.forceSnapshot}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.use_snapshot'))+\"\\n \")])]:(_vm.themeWarning.noActionsPossible)?[_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.dismissWarning}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.dismiss'))+\"\\n \")])]:[_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.forceLoad}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.load_theme'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.dismissWarning}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_as_is'))+\"\\n \")])]],2)]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"top\"},[_c('div',{staticClass:\"presets\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.presets'))+\"\\n \"),_c('label',{staticClass:\"select\",attrs:{\"for\":\"preset-switcher\"}},[_c('Select',{staticClass:\"preset-switcher\",attrs:{\"id\":\"preset-switcher\"},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}},_vm._l((_vm.availableStyles),function(style){return _c('option',{key:style.name,style:({\n backgroundColor: style[1] || (style.theme || style.source).colors.bg,\n color: style[3] || (style.theme || style.source).colors.text\n }),domProps:{\"value\":style.name || style[0]}},[_vm._v(\"\\n \"+_vm._s(style[0] || style.name)+\"\\n \")])}),0)],1)]),_vm._v(\" \"),_c('div',{staticClass:\"export-import\"},[_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.importTheme}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"settings.import_theme\"))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.exportTheme}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"settings.export_theme\"))+\"\\n \")])])])]),_vm._v(\" \"),_c('div',{staticClass:\"save-load-options\"},[_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepColor),callback:function ($$v) {_vm.keepColor=$$v},expression:\"keepColor\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_color'))+\"\\n \")])],1),_vm._v(\" \"),_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepShadows),callback:function ($$v) {_vm.keepShadows=$$v},expression:\"keepShadows\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_shadows'))+\"\\n \")])],1),_vm._v(\" \"),_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepOpacity),callback:function ($$v) {_vm.keepOpacity=$$v},expression:\"keepOpacity\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_opacity'))+\"\\n \")])],1),_vm._v(\" \"),_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepRoundness),callback:function ($$v) {_vm.keepRoundness=$$v},expression:\"keepRoundness\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_roundness'))+\"\\n \")])],1),_vm._v(\" \"),_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepFonts),callback:function ($$v) {_vm.keepFonts=$$v},expression:\"keepFonts\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_fonts'))+\"\\n \")])],1),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.switcher.save_load_hint')))])])]),_vm._v(\" \"),_c('preview',{style:(_vm.previewRules)}),_vm._v(\" \"),_c('keep-alive',[_c('tab-switcher',{key:\"style-tweak\"},[_c('div',{staticClass:\"color-container\",attrs:{\"label\":_vm.$t('settings.style.common_colors._tab_label')}},[_c('div',{staticClass:\"tab-header\"},[_c('p',[_vm._v(_vm._s(_vm.$t('settings.theme_help')))]),_vm._v(\" \"),_c('div',{staticClass:\"tab-header-buttons\"},[_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.clearOpacity}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_opacity'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.clearV1}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n \")])])]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.theme_help_v2_1')))]),_vm._v(\" \"),_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.common_colors.main')))]),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('ColorInput',{attrs:{\"name\":\"bgColor\",\"label\":_vm.$t('settings.background')},model:{value:(_vm.bgColorLocal),callback:function ($$v) {_vm.bgColorLocal=$$v},expression:\"bgColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"bgOpacity\",\"fallback\":_vm.previewTheme.opacity.bg},model:{value:(_vm.bgOpacityLocal),callback:function ($$v) {_vm.bgOpacityLocal=$$v},expression:\"bgOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"textColor\",\"label\":_vm.$t('settings.text')},model:{value:(_vm.textColorLocal),callback:function ($$v) {_vm.textColorLocal=$$v},expression:\"textColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"accentColor\",\"fallback\":_vm.previewTheme.colors.link,\"label\":_vm.$t('settings.accent'),\"show-optional-tickbox\":typeof _vm.linkColorLocal !== 'undefined'},model:{value:(_vm.accentColorLocal),callback:function ($$v) {_vm.accentColorLocal=$$v},expression:\"accentColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"linkColor\",\"fallback\":_vm.previewTheme.colors.accent,\"label\":_vm.$t('settings.links'),\"show-optional-tickbox\":typeof _vm.accentColorLocal !== 'undefined'},model:{value:(_vm.linkColorLocal),callback:function ($$v) {_vm.linkColorLocal=$$v},expression:\"linkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('ColorInput',{attrs:{\"name\":\"fgColor\",\"label\":_vm.$t('settings.foreground')},model:{value:(_vm.fgColorLocal),callback:function ($$v) {_vm.fgColorLocal=$$v},expression:\"fgColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"fgTextColor\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.fgText},model:{value:(_vm.fgTextColorLocal),callback:function ($$v) {_vm.fgTextColorLocal=$$v},expression:\"fgTextColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"fgLinkColor\",\"label\":_vm.$t('settings.links'),\"fallback\":_vm.previewTheme.colors.fgLink},model:{value:(_vm.fgLinkColorLocal),callback:function ($$v) {_vm.fgLinkColorLocal=$$v},expression:\"fgLinkColorLocal\"}}),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.common_colors.foreground_hint')))])],1),_vm._v(\" \"),_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.common_colors.rgbo')))]),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('ColorInput',{attrs:{\"name\":\"cRedColor\",\"label\":_vm.$t('settings.cRed')},model:{value:(_vm.cRedColorLocal),callback:function ($$v) {_vm.cRedColorLocal=$$v},expression:\"cRedColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgCRed}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"cBlueColor\",\"label\":_vm.$t('settings.cBlue')},model:{value:(_vm.cBlueColorLocal),callback:function ($$v) {_vm.cBlueColorLocal=$$v},expression:\"cBlueColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgCBlue}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('ColorInput',{attrs:{\"name\":\"cGreenColor\",\"label\":_vm.$t('settings.cGreen')},model:{value:(_vm.cGreenColorLocal),callback:function ($$v) {_vm.cGreenColorLocal=$$v},expression:\"cGreenColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgCGreen}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"cOrangeColor\",\"label\":_vm.$t('settings.cOrange')},model:{value:(_vm.cOrangeColorLocal),callback:function ($$v) {_vm.cOrangeColorLocal=$$v},expression:\"cOrangeColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgCOrange}})],1),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.theme_help_v2_2')))])]),_vm._v(\" \"),_c('div',{staticClass:\"color-container\",attrs:{\"label\":_vm.$t('settings.style.advanced_colors._tab_label')}},[_c('div',{staticClass:\"tab-header\"},[_c('p',[_vm._v(_vm._s(_vm.$t('settings.theme_help')))]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.clearOpacity}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_opacity'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.clearV1}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n \")])]),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.post')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"postLinkColor\",\"fallback\":_vm.previewTheme.colors.accent,\"label\":_vm.$t('settings.links')},model:{value:(_vm.postLinkColorLocal),callback:function ($$v) {_vm.postLinkColorLocal=$$v},expression:\"postLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.postLink}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"postGreentextColor\",\"fallback\":_vm.previewTheme.colors.cGreen,\"label\":_vm.$t('settings.greentext')},model:{value:(_vm.postGreentextColorLocal),callback:function ($$v) {_vm.postGreentextColorLocal=$$v},expression:\"postGreentextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.postGreentext}}),_vm._v(\" \"),_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.alert')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertError\",\"label\":_vm.$t('settings.style.advanced_colors.alert_error'),\"fallback\":_vm.previewTheme.colors.alertError},model:{value:(_vm.alertErrorColorLocal),callback:function ($$v) {_vm.alertErrorColorLocal=$$v},expression:\"alertErrorColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertErrorText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.alertErrorText},model:{value:(_vm.alertErrorTextColorLocal),callback:function ($$v) {_vm.alertErrorTextColorLocal=$$v},expression:\"alertErrorTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.alertErrorText,\"large\":\"\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertWarning\",\"label\":_vm.$t('settings.style.advanced_colors.alert_warning'),\"fallback\":_vm.previewTheme.colors.alertWarning},model:{value:(_vm.alertWarningColorLocal),callback:function ($$v) {_vm.alertWarningColorLocal=$$v},expression:\"alertWarningColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertWarningText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.alertWarningText},model:{value:(_vm.alertWarningTextColorLocal),callback:function ($$v) {_vm.alertWarningTextColorLocal=$$v},expression:\"alertWarningTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.alertWarningText,\"large\":\"\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertNeutral\",\"label\":_vm.$t('settings.style.advanced_colors.alert_neutral'),\"fallback\":_vm.previewTheme.colors.alertNeutral},model:{value:(_vm.alertNeutralColorLocal),callback:function ($$v) {_vm.alertNeutralColorLocal=$$v},expression:\"alertNeutralColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertNeutralText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.alertNeutralText},model:{value:(_vm.alertNeutralTextColorLocal),callback:function ($$v) {_vm.alertNeutralTextColorLocal=$$v},expression:\"alertNeutralTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.alertNeutralText,\"large\":\"\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"alertOpacity\",\"fallback\":_vm.previewTheme.opacity.alert},model:{value:(_vm.alertOpacityLocal),callback:function ($$v) {_vm.alertOpacityLocal=$$v},expression:\"alertOpacityLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.badge')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"badgeNotification\",\"label\":_vm.$t('settings.style.advanced_colors.badge_notification'),\"fallback\":_vm.previewTheme.colors.badgeNotification},model:{value:(_vm.badgeNotificationColorLocal),callback:function ($$v) {_vm.badgeNotificationColorLocal=$$v},expression:\"badgeNotificationColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"badgeNotificationText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.badgeNotificationText},model:{value:(_vm.badgeNotificationTextColorLocal),callback:function ($$v) {_vm.badgeNotificationTextColorLocal=$$v},expression:\"badgeNotificationTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.badgeNotificationText,\"large\":\"\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.panel_header')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"panelColor\",\"fallback\":_vm.previewTheme.colors.panel,\"label\":_vm.$t('settings.background')},model:{value:(_vm.panelColorLocal),callback:function ($$v) {_vm.panelColorLocal=$$v},expression:\"panelColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"panelOpacity\",\"fallback\":_vm.previewTheme.opacity.panel,\"disabled\":_vm.panelColorLocal === 'transparent'},model:{value:(_vm.panelOpacityLocal),callback:function ($$v) {_vm.panelOpacityLocal=$$v},expression:\"panelOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"panelTextColor\",\"fallback\":_vm.previewTheme.colors.panelText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.panelTextColorLocal),callback:function ($$v) {_vm.panelTextColorLocal=$$v},expression:\"panelTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.panelText,\"large\":\"\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"panelLinkColor\",\"fallback\":_vm.previewTheme.colors.panelLink,\"label\":_vm.$t('settings.links')},model:{value:(_vm.panelLinkColorLocal),callback:function ($$v) {_vm.panelLinkColorLocal=$$v},expression:\"panelLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.panelLink,\"large\":\"\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.top_bar')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"topBarColor\",\"fallback\":_vm.previewTheme.colors.topBar,\"label\":_vm.$t('settings.background')},model:{value:(_vm.topBarColorLocal),callback:function ($$v) {_vm.topBarColorLocal=$$v},expression:\"topBarColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"topBarTextColor\",\"fallback\":_vm.previewTheme.colors.topBarText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.topBarTextColorLocal),callback:function ($$v) {_vm.topBarTextColorLocal=$$v},expression:\"topBarTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.topBarText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"topBarLinkColor\",\"fallback\":_vm.previewTheme.colors.topBarLink,\"label\":_vm.$t('settings.links')},model:{value:(_vm.topBarLinkColorLocal),callback:function ($$v) {_vm.topBarLinkColorLocal=$$v},expression:\"topBarLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.topBarLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.inputs')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"inputColor\",\"fallback\":_vm.previewTheme.colors.input,\"label\":_vm.$t('settings.background')},model:{value:(_vm.inputColorLocal),callback:function ($$v) {_vm.inputColorLocal=$$v},expression:\"inputColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"inputOpacity\",\"fallback\":_vm.previewTheme.opacity.input,\"disabled\":_vm.inputColorLocal === 'transparent'},model:{value:(_vm.inputOpacityLocal),callback:function ($$v) {_vm.inputOpacityLocal=$$v},expression:\"inputOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"inputTextColor\",\"fallback\":_vm.previewTheme.colors.inputText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.inputTextColorLocal),callback:function ($$v) {_vm.inputTextColorLocal=$$v},expression:\"inputTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.inputText}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.buttons')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnColor\",\"fallback\":_vm.previewTheme.colors.btn,\"label\":_vm.$t('settings.background')},model:{value:(_vm.btnColorLocal),callback:function ($$v) {_vm.btnColorLocal=$$v},expression:\"btnColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"btnOpacity\",\"fallback\":_vm.previewTheme.opacity.btn,\"disabled\":_vm.btnColorLocal === 'transparent'},model:{value:(_vm.btnOpacityLocal),callback:function ($$v) {_vm.btnOpacityLocal=$$v},expression:\"btnOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnTextColor\",\"fallback\":_vm.previewTheme.colors.btnText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.btnTextColorLocal),callback:function ($$v) {_vm.btnTextColorLocal=$$v},expression:\"btnTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnPanelTextColor\",\"fallback\":_vm.previewTheme.colors.btnPanelText,\"label\":_vm.$t('settings.style.advanced_colors.panel_header')},model:{value:(_vm.btnPanelTextColorLocal),callback:function ($$v) {_vm.btnPanelTextColorLocal=$$v},expression:\"btnPanelTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnPanelText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnTopBarTextColor\",\"fallback\":_vm.previewTheme.colors.btnTopBarText,\"label\":_vm.$t('settings.style.advanced_colors.top_bar')},model:{value:(_vm.btnTopBarTextColorLocal),callback:function ($$v) {_vm.btnTopBarTextColorLocal=$$v},expression:\"btnTopBarTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnTopBarText}}),_vm._v(\" \"),_c('h5',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.pressed')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnPressedColor\",\"fallback\":_vm.previewTheme.colors.btnPressed,\"label\":_vm.$t('settings.background')},model:{value:(_vm.btnPressedColorLocal),callback:function ($$v) {_vm.btnPressedColorLocal=$$v},expression:\"btnPressedColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnPressedTextColor\",\"fallback\":_vm.previewTheme.colors.btnPressedText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.btnPressedTextColorLocal),callback:function ($$v) {_vm.btnPressedTextColorLocal=$$v},expression:\"btnPressedTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnPressedText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnPressedPanelTextColor\",\"fallback\":_vm.previewTheme.colors.btnPressedPanelText,\"label\":_vm.$t('settings.style.advanced_colors.panel_header')},model:{value:(_vm.btnPressedPanelTextColorLocal),callback:function ($$v) {_vm.btnPressedPanelTextColorLocal=$$v},expression:\"btnPressedPanelTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnPressedPanelText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnPressedTopBarTextColor\",\"fallback\":_vm.previewTheme.colors.btnPressedTopBarText,\"label\":_vm.$t('settings.style.advanced_colors.top_bar')},model:{value:(_vm.btnPressedTopBarTextColorLocal),callback:function ($$v) {_vm.btnPressedTopBarTextColorLocal=$$v},expression:\"btnPressedTopBarTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnPressedTopBarText}}),_vm._v(\" \"),_c('h5',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.disabled')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnDisabledColor\",\"fallback\":_vm.previewTheme.colors.btnDisabled,\"label\":_vm.$t('settings.background')},model:{value:(_vm.btnDisabledColorLocal),callback:function ($$v) {_vm.btnDisabledColorLocal=$$v},expression:\"btnDisabledColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnDisabledTextColor\",\"fallback\":_vm.previewTheme.colors.btnDisabledText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.btnDisabledTextColorLocal),callback:function ($$v) {_vm.btnDisabledTextColorLocal=$$v},expression:\"btnDisabledTextColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnDisabledPanelTextColor\",\"fallback\":_vm.previewTheme.colors.btnDisabledPanelText,\"label\":_vm.$t('settings.style.advanced_colors.panel_header')},model:{value:(_vm.btnDisabledPanelTextColorLocal),callback:function ($$v) {_vm.btnDisabledPanelTextColorLocal=$$v},expression:\"btnDisabledPanelTextColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnDisabledTopBarTextColor\",\"fallback\":_vm.previewTheme.colors.btnDisabledTopBarText,\"label\":_vm.$t('settings.style.advanced_colors.top_bar')},model:{value:(_vm.btnDisabledTopBarTextColorLocal),callback:function ($$v) {_vm.btnDisabledTopBarTextColorLocal=$$v},expression:\"btnDisabledTopBarTextColorLocal\"}}),_vm._v(\" \"),_c('h5',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.toggled')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnToggledColor\",\"fallback\":_vm.previewTheme.colors.btnToggled,\"label\":_vm.$t('settings.background')},model:{value:(_vm.btnToggledColorLocal),callback:function ($$v) {_vm.btnToggledColorLocal=$$v},expression:\"btnToggledColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnToggledTextColor\",\"fallback\":_vm.previewTheme.colors.btnToggledText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.btnToggledTextColorLocal),callback:function ($$v) {_vm.btnToggledTextColorLocal=$$v},expression:\"btnToggledTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnToggledText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnToggledPanelTextColor\",\"fallback\":_vm.previewTheme.colors.btnToggledPanelText,\"label\":_vm.$t('settings.style.advanced_colors.panel_header')},model:{value:(_vm.btnToggledPanelTextColorLocal),callback:function ($$v) {_vm.btnToggledPanelTextColorLocal=$$v},expression:\"btnToggledPanelTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnToggledPanelText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnToggledTopBarTextColor\",\"fallback\":_vm.previewTheme.colors.btnToggledTopBarText,\"label\":_vm.$t('settings.style.advanced_colors.top_bar')},model:{value:(_vm.btnToggledTopBarTextColorLocal),callback:function ($$v) {_vm.btnToggledTopBarTextColorLocal=$$v},expression:\"btnToggledTopBarTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnToggledTopBarText}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.tabs')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"tabColor\",\"fallback\":_vm.previewTheme.colors.tab,\"label\":_vm.$t('settings.background')},model:{value:(_vm.tabColorLocal),callback:function ($$v) {_vm.tabColorLocal=$$v},expression:\"tabColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"tabTextColor\",\"fallback\":_vm.previewTheme.colors.tabText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.tabTextColorLocal),callback:function ($$v) {_vm.tabTextColorLocal=$$v},expression:\"tabTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.tabText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"tabActiveTextColor\",\"fallback\":_vm.previewTheme.colors.tabActiveText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.tabActiveTextColorLocal),callback:function ($$v) {_vm.tabActiveTextColorLocal=$$v},expression:\"tabActiveTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.tabActiveText}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.borders')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"borderColor\",\"fallback\":_vm.previewTheme.colors.border,\"label\":_vm.$t('settings.style.common.color')},model:{value:(_vm.borderColorLocal),callback:function ($$v) {_vm.borderColorLocal=$$v},expression:\"borderColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"borderOpacity\",\"fallback\":_vm.previewTheme.opacity.border,\"disabled\":_vm.borderColorLocal === 'transparent'},model:{value:(_vm.borderOpacityLocal),callback:function ($$v) {_vm.borderOpacityLocal=$$v},expression:\"borderOpacityLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.faint_text')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"faintColor\",\"fallback\":_vm.previewTheme.colors.faint,\"label\":_vm.$t('settings.text')},model:{value:(_vm.faintColorLocal),callback:function ($$v) {_vm.faintColorLocal=$$v},expression:\"faintColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"faintLinkColor\",\"fallback\":_vm.previewTheme.colors.faintLink,\"label\":_vm.$t('settings.links')},model:{value:(_vm.faintLinkColorLocal),callback:function ($$v) {_vm.faintLinkColorLocal=$$v},expression:\"faintLinkColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"panelFaintColor\",\"fallback\":_vm.previewTheme.colors.panelFaint,\"label\":_vm.$t('settings.style.advanced_colors.panel_header')},model:{value:(_vm.panelFaintColorLocal),callback:function ($$v) {_vm.panelFaintColorLocal=$$v},expression:\"panelFaintColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"faintOpacity\",\"fallback\":_vm.previewTheme.opacity.faint},model:{value:(_vm.faintOpacityLocal),callback:function ($$v) {_vm.faintOpacityLocal=$$v},expression:\"faintOpacityLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.underlay')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"underlay\",\"label\":_vm.$t('settings.style.advanced_colors.underlay'),\"fallback\":_vm.previewTheme.colors.underlay},model:{value:(_vm.underlayColorLocal),callback:function ($$v) {_vm.underlayColorLocal=$$v},expression:\"underlayColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"underlayOpacity\",\"fallback\":_vm.previewTheme.opacity.underlay,\"disabled\":_vm.underlayOpacityLocal === 'transparent'},model:{value:(_vm.underlayOpacityLocal),callback:function ($$v) {_vm.underlayOpacityLocal=$$v},expression:\"underlayOpacityLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.wallpaper')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"wallpaper\",\"label\":_vm.$t('settings.style.advanced_colors.wallpaper'),\"fallback\":_vm.previewTheme.colors.wallpaper},model:{value:(_vm.wallpaperColorLocal),callback:function ($$v) {_vm.wallpaperColorLocal=$$v},expression:\"wallpaperColorLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.poll')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"poll\",\"label\":_vm.$t('settings.background'),\"fallback\":_vm.previewTheme.colors.poll},model:{value:(_vm.pollColorLocal),callback:function ($$v) {_vm.pollColorLocal=$$v},expression:\"pollColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"pollText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.pollText},model:{value:(_vm.pollTextColorLocal),callback:function ($$v) {_vm.pollTextColorLocal=$$v},expression:\"pollTextColorLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.icons')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"icon\",\"label\":_vm.$t('settings.style.advanced_colors.icons'),\"fallback\":_vm.previewTheme.colors.icon},model:{value:(_vm.iconColorLocal),callback:function ($$v) {_vm.iconColorLocal=$$v},expression:\"iconColorLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.highlight')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"highlight\",\"label\":_vm.$t('settings.background'),\"fallback\":_vm.previewTheme.colors.highlight},model:{value:(_vm.highlightColorLocal),callback:function ($$v) {_vm.highlightColorLocal=$$v},expression:\"highlightColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"highlightText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.highlightText},model:{value:(_vm.highlightTextColorLocal),callback:function ($$v) {_vm.highlightTextColorLocal=$$v},expression:\"highlightTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.highlightText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"highlightLink\",\"label\":_vm.$t('settings.links'),\"fallback\":_vm.previewTheme.colors.highlightLink},model:{value:(_vm.highlightLinkColorLocal),callback:function ($$v) {_vm.highlightLinkColorLocal=$$v},expression:\"highlightLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.highlightLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.popover')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"popover\",\"label\":_vm.$t('settings.background'),\"fallback\":_vm.previewTheme.colors.popover},model:{value:(_vm.popoverColorLocal),callback:function ($$v) {_vm.popoverColorLocal=$$v},expression:\"popoverColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"popoverOpacity\",\"fallback\":_vm.previewTheme.opacity.popover,\"disabled\":_vm.popoverOpacityLocal === 'transparent'},model:{value:(_vm.popoverOpacityLocal),callback:function ($$v) {_vm.popoverOpacityLocal=$$v},expression:\"popoverOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"popoverText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.popoverText},model:{value:(_vm.popoverTextColorLocal),callback:function ($$v) {_vm.popoverTextColorLocal=$$v},expression:\"popoverTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.popoverText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"popoverLink\",\"label\":_vm.$t('settings.links'),\"fallback\":_vm.previewTheme.colors.popoverLink},model:{value:(_vm.popoverLinkColorLocal),callback:function ($$v) {_vm.popoverLinkColorLocal=$$v},expression:\"popoverLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.popoverLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.selectedPost')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedPost\",\"label\":_vm.$t('settings.background'),\"fallback\":_vm.previewTheme.colors.selectedPost},model:{value:(_vm.selectedPostColorLocal),callback:function ($$v) {_vm.selectedPostColorLocal=$$v},expression:\"selectedPostColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedPostText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.selectedPostText},model:{value:(_vm.selectedPostTextColorLocal),callback:function ($$v) {_vm.selectedPostTextColorLocal=$$v},expression:\"selectedPostTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.selectedPostText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedPostLink\",\"label\":_vm.$t('settings.links'),\"fallback\":_vm.previewTheme.colors.selectedPostLink},model:{value:(_vm.selectedPostLinkColorLocal),callback:function ($$v) {_vm.selectedPostLinkColorLocal=$$v},expression:\"selectedPostLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.selectedPostLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.selectedMenu')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedMenu\",\"label\":_vm.$t('settings.background'),\"fallback\":_vm.previewTheme.colors.selectedMenu},model:{value:(_vm.selectedMenuColorLocal),callback:function ($$v) {_vm.selectedMenuColorLocal=$$v},expression:\"selectedMenuColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedMenuText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.selectedMenuText},model:{value:(_vm.selectedMenuTextColorLocal),callback:function ($$v) {_vm.selectedMenuTextColorLocal=$$v},expression:\"selectedMenuTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.selectedMenuText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedMenuLink\",\"label\":_vm.$t('settings.links'),\"fallback\":_vm.previewTheme.colors.selectedMenuLink},model:{value:(_vm.selectedMenuLinkColorLocal),callback:function ($$v) {_vm.selectedMenuLinkColorLocal=$$v},expression:\"selectedMenuLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.selectedMenuLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('chats.chats')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatBgColor\",\"fallback\":_vm.previewTheme.colors.bg,\"label\":_vm.$t('settings.background')},model:{value:(_vm.chatBgColorLocal),callback:function ($$v) {_vm.chatBgColorLocal=$$v},expression:\"chatBgColorLocal\"}}),_vm._v(\" \"),_c('h5',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.chat.incoming')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageIncomingBgColor\",\"fallback\":_vm.previewTheme.colors.bg,\"label\":_vm.$t('settings.background')},model:{value:(_vm.chatMessageIncomingBgColorLocal),callback:function ($$v) {_vm.chatMessageIncomingBgColorLocal=$$v},expression:\"chatMessageIncomingBgColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageIncomingTextColor\",\"fallback\":_vm.previewTheme.colors.text,\"label\":_vm.$t('settings.text')},model:{value:(_vm.chatMessageIncomingTextColorLocal),callback:function ($$v) {_vm.chatMessageIncomingTextColorLocal=$$v},expression:\"chatMessageIncomingTextColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageIncomingLinkColor\",\"fallback\":_vm.previewTheme.colors.link,\"label\":_vm.$t('settings.links')},model:{value:(_vm.chatMessageIncomingLinkColorLocal),callback:function ($$v) {_vm.chatMessageIncomingLinkColorLocal=$$v},expression:\"chatMessageIncomingLinkColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageIncomingBorderLinkColor\",\"fallback\":_vm.previewTheme.colors.fg,\"label\":_vm.$t('settings.style.advanced_colors.chat.border')},model:{value:(_vm.chatMessageIncomingBorderColorLocal),callback:function ($$v) {_vm.chatMessageIncomingBorderColorLocal=$$v},expression:\"chatMessageIncomingBorderColorLocal\"}}),_vm._v(\" \"),_c('h5',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.chat.outgoing')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageOutgoingBgColor\",\"fallback\":_vm.previewTheme.colors.bg,\"label\":_vm.$t('settings.background')},model:{value:(_vm.chatMessageOutgoingBgColorLocal),callback:function ($$v) {_vm.chatMessageOutgoingBgColorLocal=$$v},expression:\"chatMessageOutgoingBgColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageOutgoingTextColor\",\"fallback\":_vm.previewTheme.colors.text,\"label\":_vm.$t('settings.text')},model:{value:(_vm.chatMessageOutgoingTextColorLocal),callback:function ($$v) {_vm.chatMessageOutgoingTextColorLocal=$$v},expression:\"chatMessageOutgoingTextColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageOutgoingLinkColor\",\"fallback\":_vm.previewTheme.colors.link,\"label\":_vm.$t('settings.links')},model:{value:(_vm.chatMessageOutgoingLinkColorLocal),callback:function ($$v) {_vm.chatMessageOutgoingLinkColorLocal=$$v},expression:\"chatMessageOutgoingLinkColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageOutgoingBorderLinkColor\",\"fallback\":_vm.previewTheme.colors.bg,\"label\":_vm.$t('settings.style.advanced_colors.chat.border')},model:{value:(_vm.chatMessageOutgoingBorderColorLocal),callback:function ($$v) {_vm.chatMessageOutgoingBorderColorLocal=$$v},expression:\"chatMessageOutgoingBorderColorLocal\"}})],1)]),_vm._v(\" \"),_c('div',{staticClass:\"radius-container\",attrs:{\"label\":_vm.$t('settings.style.radii._tab_label')}},[_c('div',{staticClass:\"tab-header\"},[_c('p',[_vm._v(_vm._s(_vm.$t('settings.radii_help')))]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.clearRoundness}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n \")])]),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"btnRadius\",\"label\":_vm.$t('settings.btnRadius'),\"fallback\":_vm.previewTheme.radii.btn,\"max\":\"16\",\"hard-min\":\"0\"},model:{value:(_vm.btnRadiusLocal),callback:function ($$v) {_vm.btnRadiusLocal=$$v},expression:\"btnRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"inputRadius\",\"label\":_vm.$t('settings.inputRadius'),\"fallback\":_vm.previewTheme.radii.input,\"max\":\"9\",\"hard-min\":\"0\"},model:{value:(_vm.inputRadiusLocal),callback:function ($$v) {_vm.inputRadiusLocal=$$v},expression:\"inputRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"checkboxRadius\",\"label\":_vm.$t('settings.checkboxRadius'),\"fallback\":_vm.previewTheme.radii.checkbox,\"max\":\"16\",\"hard-min\":\"0\"},model:{value:(_vm.checkboxRadiusLocal),callback:function ($$v) {_vm.checkboxRadiusLocal=$$v},expression:\"checkboxRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"panelRadius\",\"label\":_vm.$t('settings.panelRadius'),\"fallback\":_vm.previewTheme.radii.panel,\"max\":\"50\",\"hard-min\":\"0\"},model:{value:(_vm.panelRadiusLocal),callback:function ($$v) {_vm.panelRadiusLocal=$$v},expression:\"panelRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"avatarRadius\",\"label\":_vm.$t('settings.avatarRadius'),\"fallback\":_vm.previewTheme.radii.avatar,\"max\":\"28\",\"hard-min\":\"0\"},model:{value:(_vm.avatarRadiusLocal),callback:function ($$v) {_vm.avatarRadiusLocal=$$v},expression:\"avatarRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"avatarAltRadius\",\"label\":_vm.$t('settings.avatarAltRadius'),\"fallback\":_vm.previewTheme.radii.avatarAlt,\"max\":\"28\",\"hard-min\":\"0\"},model:{value:(_vm.avatarAltRadiusLocal),callback:function ($$v) {_vm.avatarAltRadiusLocal=$$v},expression:\"avatarAltRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"attachmentRadius\",\"label\":_vm.$t('settings.attachmentRadius'),\"fallback\":_vm.previewTheme.radii.attachment,\"max\":\"50\",\"hard-min\":\"0\"},model:{value:(_vm.attachmentRadiusLocal),callback:function ($$v) {_vm.attachmentRadiusLocal=$$v},expression:\"attachmentRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"tooltipRadius\",\"label\":_vm.$t('settings.tooltipRadius'),\"fallback\":_vm.previewTheme.radii.tooltip,\"max\":\"50\",\"hard-min\":\"0\"},model:{value:(_vm.tooltipRadiusLocal),callback:function ($$v) {_vm.tooltipRadiusLocal=$$v},expression:\"tooltipRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"chatMessageRadius\",\"label\":_vm.$t('settings.chatMessageRadius'),\"fallback\":_vm.previewTheme.radii.chatMessage || 2,\"max\":\"50\",\"hard-min\":\"0\"},model:{value:(_vm.chatMessageRadiusLocal),callback:function ($$v) {_vm.chatMessageRadiusLocal=$$v},expression:\"chatMessageRadiusLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"shadow-container\",attrs:{\"label\":_vm.$t('settings.style.shadows._tab_label')}},[_c('div',{staticClass:\"tab-header shadow-selector\"},[_c('div',{staticClass:\"select-container\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.component'))+\"\\n \"),_c('Select',{staticClass:\"shadow-switcher\",attrs:{\"id\":\"shadow-switcher\"},model:{value:(_vm.shadowSelected),callback:function ($$v) {_vm.shadowSelected=$$v},expression:\"shadowSelected\"}},_vm._l((_vm.shadowsAvailable),function(shadow){return _c('option',{key:shadow,domProps:{\"value\":shadow}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.components.' + shadow))+\"\\n \")])}),0)],1),_vm._v(\" \"),_c('div',{staticClass:\"override\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"override\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.override'))+\"\\n \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentShadowOverriden),expression:\"currentShadowOverriden\"}],staticClass:\"input-override\",attrs:{\"id\":\"override\",\"name\":\"override\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.currentShadowOverriden)?_vm._i(_vm.currentShadowOverriden,null)>-1:(_vm.currentShadowOverriden)},on:{\"change\":function($event){var $$a=_vm.currentShadowOverriden,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.currentShadowOverriden=$$a.concat([$$v]))}else{$$i>-1&&(_vm.currentShadowOverriden=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.currentShadowOverriden=$$c}}}}),_vm._v(\" \"),_c('label',{staticClass:\"checkbox-label\",attrs:{\"for\":\"override\"}})]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.clearShadows}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n \")])]),_vm._v(\" \"),_c('ShadowControl',{attrs:{\"ready\":!!_vm.currentShadowFallback,\"fallback\":_vm.currentShadowFallback},model:{value:(_vm.currentShadow),callback:function ($$v) {_vm.currentShadow=$$v},expression:\"currentShadow\"}}),_vm._v(\" \"),(_vm.shadowSelected === 'avatar' || _vm.shadowSelected === 'avatarStatus')?_c('div',[_c('i18n',{attrs:{\"path\":\"settings.style.shadows.filter_hint.always_drop_shadow\",\"tag\":\"p\"}},[_c('code',[_vm._v(\"filter: drop-shadow()\")])]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.shadows.filter_hint.avatar_inset')))]),_vm._v(\" \"),_c('i18n',{attrs:{\"path\":\"settings.style.shadows.filter_hint.drop_shadow_syntax\",\"tag\":\"p\"}},[_c('code',[_vm._v(\"drop-shadow\")]),_vm._v(\" \"),_c('code',[_vm._v(\"spread-radius\")]),_vm._v(\" \"),_c('code',[_vm._v(\"inset\")])]),_vm._v(\" \"),_c('i18n',{attrs:{\"path\":\"settings.style.shadows.filter_hint.inset_classic\",\"tag\":\"p\"}},[_c('code',[_vm._v(\"box-shadow\")])]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.shadows.filter_hint.spread_zero')))])],1):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"fonts-container\",attrs:{\"label\":_vm.$t('settings.style.fonts._tab_label')}},[_c('div',{staticClass:\"tab-header\"},[_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.fonts.help')))]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.clearFonts}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n \")])]),_vm._v(\" \"),_c('FontControl',{attrs:{\"name\":\"ui\",\"label\":_vm.$t('settings.style.fonts.components.interface'),\"fallback\":_vm.previewTheme.fonts.interface,\"no-inherit\":\"1\"},model:{value:(_vm.fontsLocal.interface),callback:function ($$v) {_vm.$set(_vm.fontsLocal, \"interface\", $$v)},expression:\"fontsLocal.interface\"}}),_vm._v(\" \"),_c('FontControl',{attrs:{\"name\":\"input\",\"label\":_vm.$t('settings.style.fonts.components.input'),\"fallback\":_vm.previewTheme.fonts.input},model:{value:(_vm.fontsLocal.input),callback:function ($$v) {_vm.$set(_vm.fontsLocal, \"input\", $$v)},expression:\"fontsLocal.input\"}}),_vm._v(\" \"),_c('FontControl',{attrs:{\"name\":\"post\",\"label\":_vm.$t('settings.style.fonts.components.post'),\"fallback\":_vm.previewTheme.fonts.post},model:{value:(_vm.fontsLocal.post),callback:function ($$v) {_vm.$set(_vm.fontsLocal, \"post\", $$v)},expression:\"fontsLocal.post\"}}),_vm._v(\" \"),_c('FontControl',{attrs:{\"name\":\"postCode\",\"label\":_vm.$t('settings.style.fonts.components.postCode'),\"fallback\":_vm.previewTheme.fonts.postCode},model:{value:(_vm.fontsLocal.postCode),callback:function ($$v) {_vm.$set(_vm.fontsLocal, \"postCode\", $$v)},expression:\"fontsLocal.postCode\"}})],1)])],1),_vm._v(\" \"),_c('div',{staticClass:\"apply-container\"},[_c('button',{staticClass:\"btn button-default submit\",attrs:{\"disabled\":!_vm.themeValid},on:{\"click\":_vm.setCustomTheme}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.apply'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.clearAll}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.reset'))+\"\\n \")])])],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import TabSwitcher from 'src/components/tab_switcher/tab_switcher.js'\n\nimport DataImportExportTab from './tabs/data_import_export_tab.vue'\nimport MutesAndBlocksTab from './tabs/mutes_and_blocks_tab.vue'\nimport NotificationsTab from './tabs/notifications_tab.vue'\nimport FilteringTab from './tabs/filtering_tab.vue'\nimport SecurityTab from './tabs/security_tab/security_tab.vue'\nimport ProfileTab from './tabs/profile_tab.vue'\nimport GeneralTab from './tabs/general_tab.vue'\nimport VersionTab from './tabs/version_tab.vue'\nimport ThemeTab from './tabs/theme_tab/theme_tab.vue'\n\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faWrench,\n faUser,\n faFilter,\n faPaintBrush,\n faBell,\n faDownload,\n faEyeSlash,\n faInfo\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faWrench,\n faUser,\n faFilter,\n faPaintBrush,\n faBell,\n faDownload,\n faEyeSlash,\n faInfo\n)\n\nconst SettingsModalContent = {\n components: {\n TabSwitcher,\n\n DataImportExportTab,\n MutesAndBlocksTab,\n NotificationsTab,\n FilteringTab,\n SecurityTab,\n ProfileTab,\n GeneralTab,\n VersionTab,\n ThemeTab\n },\n computed: {\n isLoggedIn () {\n return !!this.$store.state.users.currentUser\n },\n open () {\n return this.$store.state.interface.settingsModalState !== 'hidden'\n }\n },\n methods: {\n onOpen () {\n const targetTab = this.$store.state.interface.settingsModalTargetTab\n // We're being told to open in specific tab\n if (targetTab) {\n const tabIndex = this.$refs.tabSwitcher.$slots.default.findIndex(elm => {\n return elm.data && elm.data.attrs['data-tab-name'] === targetTab\n })\n if (tabIndex >= 0) {\n this.$refs.tabSwitcher.setTab(tabIndex)\n }\n }\n // Clear the state of target tab, so that next time settings is opened\n // it doesn't force it.\n this.$store.dispatch('clearSettingsModalTargetTab')\n }\n },\n mounted () {\n this.onOpen()\n },\n watch: {\n open: function (value) {\n if (value) this.onOpen()\n }\n }\n}\n\nexport default SettingsModalContent\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!./settings_modal_content.scss\")\n}\n/* script */\nexport * from \"!!babel-loader!./settings_modal_content.js\"\nimport __vue_script__ from \"!!babel-loader!./settings_modal_content.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-c173d428\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./settings_modal_content.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tab-switcher',{ref:\"tabSwitcher\",staticClass:\"settings_tab-switcher\",attrs:{\"side-tab-bar\":true,\"scrollable-tabs\":true}},[_c('div',{attrs:{\"label\":_vm.$t('settings.general'),\"icon\":\"wrench\",\"data-tab-name\":\"general\"}},[_c('GeneralTab')],1),_vm._v(\" \"),(_vm.isLoggedIn)?_c('div',{attrs:{\"label\":_vm.$t('settings.profile_tab'),\"icon\":\"user\",\"data-tab-name\":\"profile\"}},[_c('ProfileTab')],1):_vm._e(),_vm._v(\" \"),(_vm.isLoggedIn)?_c('div',{attrs:{\"label\":_vm.$t('settings.security_tab'),\"icon\":\"lock\",\"data-tab-name\":\"security\"}},[_c('SecurityTab')],1):_vm._e(),_vm._v(\" \"),_c('div',{attrs:{\"label\":_vm.$t('settings.filtering'),\"icon\":\"filter\",\"data-tab-name\":\"filtering\"}},[_c('FilteringTab')],1),_vm._v(\" \"),_c('div',{attrs:{\"label\":_vm.$t('settings.theme'),\"icon\":\"paint-brush\",\"data-tab-name\":\"theme\"}},[_c('ThemeTab')],1),_vm._v(\" \"),(_vm.isLoggedIn)?_c('div',{attrs:{\"label\":_vm.$t('settings.notifications'),\"icon\":\"bell\",\"data-tab-name\":\"notifications\"}},[_c('NotificationsTab')],1):_vm._e(),_vm._v(\" \"),(_vm.isLoggedIn)?_c('div',{attrs:{\"label\":_vm.$t('settings.data_import_export_tab'),\"icon\":\"download\",\"data-tab-name\":\"dataImportExport\"}},[_c('DataImportExportTab')],1):_vm._e(),_vm._v(\" \"),(_vm.isLoggedIn)?_c('div',{attrs:{\"label\":_vm.$t('settings.mutes_and_blocks'),\"fullHeight\":true,\"icon\":\"eye-slash\",\"data-tab-name\":\"mutesAndBlocks\"}},[_c('MutesAndBlocksTab')],1):_vm._e(),_vm._v(\" \"),_c('div',{attrs:{\"label\":_vm.$t('settings.version.title'),\"icon\":\"info\",\"data-tab-name\":\"version\"}},[_c('VersionTab')],1)])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }"],"sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/2.fec2056b00b4fa3921ba.js b/priv/static/static/js/2.fec2056b00b4fa3921ba.js new file mode 100644 index 000000000..483720e2f --- /dev/null +++ b/priv/static/static/js/2.fec2056b00b4fa3921ba.js @@ -0,0 +1,2 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[2],{629:function(t,e,s){var n=s(630);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(6).default)("a45e17ec",n,!0,{})},630:function(t,e,s){(t.exports=s(5)(!1)).push([t.i,".settings_tab-switcher{height:100%}.settings_tab-switcher .setting-item{border-bottom:2px solid var(--fg,#182230);margin:1em 1em 1.4em;padding-bottom:1.4em}.settings_tab-switcher .setting-item>div,.settings_tab-switcher .setting-item>label{display:block;margin-bottom:.5em}.settings_tab-switcher .setting-item>div:last-child,.settings_tab-switcher .setting-item>label:last-child{margin-bottom:0}.settings_tab-switcher .setting-item .select-multiple{display:-ms-flexbox;display:flex}.settings_tab-switcher .setting-item .select-multiple .option-list{margin:0;padding-left:.5em}.settings_tab-switcher .setting-item:last-child{border-bottom:none;padding-bottom:0;margin-bottom:1em}.settings_tab-switcher .setting-item select{min-width:10em}.settings_tab-switcher .setting-item textarea{width:100%;max-width:100%;height:100px}.settings_tab-switcher .setting-item .unavailable,.settings_tab-switcher .setting-item .unavailable svg{color:var(--cRed,red);color:red}.settings_tab-switcher .setting-item .number-input{max-width:6em}",""])},631:function(t,e,s){var n=s(632);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(6).default)("5bed876c",n,!0,{})},632:function(t,e,s){(t.exports=s(5)(!1)).push([t.i,".importer-uploading{font-size:1.5em;margin:.25em}",""])},633:function(t,e,s){var n=s(634);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(6).default)("432fc7c6",n,!0,{})},634:function(t,e,s){(t.exports=s(5)(!1)).push([t.i,".exporter-processing{margin:.25em}",""])},635:function(t,e,s){var n=s(636);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(6).default)("33ca0d90",n,!0,{})},636:function(t,e,s){(t.exports=s(5)(!1)).push([t.i,".mutes-and-blocks-tab{height:100%}.mutes-and-blocks-tab .usersearch-wrapper{padding:1em}.mutes-and-blocks-tab .bulk-actions{text-align:right;padding:0 1em;min-height:28px}.mutes-and-blocks-tab .bulk-action-button{width:10em}.mutes-and-blocks-tab .domain-mute-form{padding:1em;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.mutes-and-blocks-tab .domain-mute-button{-ms-flex-item-align:end;align-self:flex-end;margin-top:1em;width:10em}",""])},637:function(t,e,s){var n=s(638);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(6).default)("3a9ec1bf",n,!0,{})},638:function(t,e,s){(t.exports=s(5)(!1)).push([t.i,".autosuggest{position:relative}.autosuggest-input{display:block;width:100%}.autosuggest-results{position:absolute;left:0;top:100%;right:0;max-height:400px;background-color:#121a24;background-color:var(--bg,#121a24);border-color:#222;border:1px solid var(--border,#222);border-radius:4px;border-radius:var(--inputRadius,4px);border-top-left-radius:0;border-top-right-radius:0;box-shadow:1px 1px 4px rgba(0,0,0,.6);box-shadow:var(--panelShadow);overflow-y:auto;z-index:1}",""])},639:function(t,e,s){var n=s(640);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(6).default)("211aa67c",n,!0,{})},640:function(t,e,s){(t.exports=s(5)(!1)).push([t.i,".block-card-content-container{margin-top:.5em;text-align:right}.block-card-content-container button{width:10em}",""])},641:function(t,e,s){var n=s(642);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(6).default)("7ea980e0",n,!0,{})},642:function(t,e,s){(t.exports=s(5)(!1)).push([t.i,".mute-card-content-container{margin-top:.5em;text-align:right}.mute-card-content-container button{width:10em}",""])},643:function(t,e,s){var n=s(644);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(6).default)("39a942c3",n,!0,{})},644:function(t,e,s){(t.exports=s(5)(!1)).push([t.i,".domain-mute-card{-ms-flex:1 0;flex:1 0;display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:center;align-items:center;padding:.6em 1em .6em 0}.domain-mute-card-domain{margin-right:1em;overflow:hidden;text-overflow:ellipsis}.domain-mute-card button{width:10em}.autosuggest-results .domain-mute-card{padding-left:1em}",""])},645:function(t,e,s){var n=s(646);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(6).default)("3724291e",n,!0,{})},646:function(t,e,s){(t.exports=s(5)(!1)).push([t.i,".selectable-list-item-inner{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.selectable-list-item-inner>*{min-width:0}.selectable-list-item-selected-inner{background-color:#151e2a;background-color:var(--selectedMenu,#151e2a);color:var(--selectedMenuText,#b9b9ba);--faint:var(--selectedMenuFaintText,$fallback--faint);--faintLink:var(--selectedMenuFaintLink,$fallback--faint);--lightText:var(--selectedMenuLightText,$fallback--lightText);--icon:var(--selectedMenuIcon,$fallback--icon)}.selectable-list-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.6em 0;border-bottom:2px solid;border-bottom-color:#222;border-bottom-color:var(--border,#222)}.selectable-list-header-actions{-ms-flex:1;flex:1}.selectable-list-checkbox-wrapper{padding:0 10px;-ms-flex:none;flex:none}",""])},647:function(t,e,s){},651:function(t,e,s){var n=s(652);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(6).default)("1fa434a2",n,!0,{})},652:function(t,e,s){(t.exports=s(5)(!1)).push([t.i,".ModifiedIndicator{display:inline-block;position:relative}.ModifiedIndicator .modified-tooltip{margin:.5em 1em;min-width:10em;text-align:center}",""])},653:function(t,e,s){var n=s(654);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(6).default)("9374f1e2",n,!0,{})},654:function(t,e,s){(t.exports=s(5)(!1)).push([t.i,"",""])},655:function(t,e,s){var n=s(656);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(6).default)("a588473e",n,!0,{})},656:function(t,e,s){(t.exports=s(5)(!1)).push([t.i,".mfa-settings .method-item,.mfa-settings .mfa-heading{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:baseline;align-items:baseline}.mfa-settings .warning{color:orange;color:var(--cOrange,orange)}.mfa-settings .setup-otp{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-wrap:wrap;flex-wrap:wrap}.mfa-settings .setup-otp .qr-code{-ms-flex:1;flex:1;padding-right:10px}.mfa-settings .setup-otp .verify{-ms-flex:1;flex:1}.mfa-settings .setup-otp .error{margin:4px 0 0}.mfa-settings .setup-otp .confirm-otp-actions button{width:15em;margin-top:5px}",""])},657:function(t,e,s){var n=s(658);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(6).default)("4065bf15",n,!0,{})},658:function(t,e,s){(t.exports=s(5)(!1)).push([t.i,".mfa-backup-codes .warning{color:orange;color:var(--cOrange,orange)}.mfa-backup-codes .backup-codes{font-family:var(--postCodeFont,monospace)}",""])},660:function(t,e,s){var n=s(661);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(6).default)("27925ae8",n,!0,{})},661:function(t,e,s){(t.exports=s(5)(!1)).push([t.i,".profile-tab .bio{margin:0}.profile-tab .visibility-tray{padding-top:5px}.profile-tab input[type=file]{padding:5px;height:auto}.profile-tab .banner-background-preview{max-width:100%;width:300px;position:relative}.profile-tab .banner-background-preview img{width:100%}.profile-tab .uploading{font-size:1.5em;margin:.25em}.profile-tab .name-changer{width:100%}.profile-tab .current-avatar-container{position:relative;width:150px;height:150px}.profile-tab .current-avatar{display:block;width:100%;height:100%;border-radius:4px;border-radius:var(--avatarRadius,4px)}.profile-tab .reset-button{position:absolute;top:.2em;right:.2em;border-radius:5px;border-radius:var(--tooltipRadius,5px);background-color:rgba(0,0,0,.6);opacity:.7;color:#fff;width:1.5em;height:1.5em;text-align:center;line-height:1.5em;font-size:1.5em;cursor:pointer}.profile-tab .reset-button:hover{opacity:1}.profile-tab .oauth-tokens{width:100%}.profile-tab .oauth-tokens th{text-align:left}.profile-tab .oauth-tokens .actions{text-align:right}.profile-tab-usersearch-wrapper{padding:1em}.profile-tab-bulk-actions{text-align:right;padding:0 1em;min-height:28px}.profile-tab-bulk-actions button{width:10em}.profile-tab-domain-mute-form{padding:1em;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.profile-tab-domain-mute-form button{-ms-flex-item-align:end;align-self:flex-end;margin-top:1em;width:10em}.profile-tab .setting-subitem{margin-left:1.75em}.profile-tab .profile-fields{display:-ms-flexbox;display:flex}.profile-tab .profile-fields>.emoji-input{-ms-flex:1 1 auto;flex:1 1 auto;margin:0 .2em .5em;min-width:0}.profile-tab .profile-fields .delete-field{width:20px;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;margin:0 .2em .5em;padding:0 .5em}",""])},662:function(t,e,s){var n=s(663);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(6).default)("0dfd0b33",n,!0,{})},663:function(t,e,s){(t.exports=s(5)(!1)).push([t.i,".image-cropper-img-input{display:none}.image-cropper-image-container{position:relative}.image-cropper-image-container img{display:block;max-width:100%}.image-cropper-buttons-wrapper{margin-top:10px}.image-cropper-buttons-wrapper button{margin-top:5px}",""])},666:function(t,e,s){var n=s(667);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(6).default)("4fafab12",n,!0,{})},667:function(t,e,s){(t.exports=s(5)(!1)).push([t.i,".theme-tab{padding-bottom:2em}.theme-tab .theme-warning{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline;margin-bottom:.5em}.theme-tab .theme-warning .buttons .btn{margin-bottom:.5em}.theme-tab .preset-switcher{margin-right:1em}.theme-tab .style-control{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline;margin-bottom:5px}.theme-tab .style-control .label{-ms-flex:1;flex:1}.theme-tab .style-control.disabled input,.theme-tab .style-control.disabled select{opacity:.5}.theme-tab .style-control .opt{margin:.5em}.theme-tab .style-control .color-input{-ms-flex:0 0 0px;flex:0 0 0}.theme-tab .style-control input,.theme-tab .style-control select{min-width:3em;margin:0;-ms-flex:0;flex:0}.theme-tab .style-control input[type=number],.theme-tab .style-control select[type=number]{min-width:5em}.theme-tab .style-control input[type=range],.theme-tab .style-control select[type=range]{-ms-flex:1;flex:1;min-width:3em;-ms-flex-item-align:start;align-self:flex-start}.theme-tab .reset-container{-ms-flex-wrap:wrap;flex-wrap:wrap}.theme-tab .apply-container,.theme-tab .color-container,.theme-tab .fonts-container,.theme-tab .radius-container,.theme-tab .reset-container{display:-ms-flexbox;display:flex}.theme-tab .fonts-container,.theme-tab .radius-container{-ms-flex-direction:column;flex-direction:column}.theme-tab .color-container{-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:justify;justify-content:space-between}.theme-tab .color-container>h4{width:99%}.theme-tab .color-container,.theme-tab .fonts-container,.theme-tab .presets-container,.theme-tab .radius-container,.theme-tab .shadow-container{margin:1em 1em 0}.theme-tab .tab-header{display:-ms-flexbox;display:flex;-ms-flex-pack:justify;justify-content:space-between;-ms-flex-align:baseline;align-items:baseline;width:100%;min-height:30px;margin-bottom:1em}.theme-tab .tab-header p{-ms-flex:1;flex:1;margin:0;margin-right:.5em}.theme-tab .tab-header-buttons{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column}.theme-tab .tab-header-buttons .btn{min-width:1px;-ms-flex:0 auto;flex:0 auto;padding:0 1em;margin-bottom:.5em}.theme-tab .shadow-selector .override{-ms-flex:1;flex:1;margin-left:.5em}.theme-tab .shadow-selector .select-container{margin-top:-4px;margin-bottom:-3px}.theme-tab .save-load,.theme-tab .save-load-options{display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:baseline;align-items:baseline;-ms-flex-wrap:wrap;flex-wrap:wrap}.theme-tab .save-load-options .import-export,.theme-tab .save-load-options .presets,.theme-tab .save-load .import-export,.theme-tab .save-load .presets{margin-bottom:.5em}.theme-tab .save-load-options .import-export,.theme-tab .save-load .import-export{display:-ms-flexbox;display:flex}.theme-tab .save-load-options .override,.theme-tab .save-load .override{margin-left:.5em}.theme-tab .save-load-options{-ms-flex-wrap:wrap;flex-wrap:wrap;margin-top:.5em;-ms-flex-pack:center;justify-content:center}.theme-tab .save-load-options .keep-option{margin:0 .5em .5em;min-width:25%}.theme-tab .preview-container{border-top:1px dashed;border-bottom:1px dashed;border-color:#222;border-color:var(--border,#222);margin:1em 0;padding:1em;background-color:var(--wallpaper);background-image:var(--body-background-image);background-size:cover;background-position:50% 50%}.theme-tab .preview-container .dummy .post{font-family:var(--postFont);display:-ms-flexbox;display:flex}.theme-tab .preview-container .dummy .post .content{-ms-flex:1;flex:1}.theme-tab .preview-container .dummy .post .content h4{margin-bottom:.25em}.theme-tab .preview-container .dummy .post .content .icons{margin-top:.5em;display:-ms-flexbox;display:flex}.theme-tab .preview-container .dummy .post .content .icons i{margin-right:1em}.theme-tab .preview-container .dummy .after-post{margin-top:1em;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.theme-tab .preview-container .dummy .avatar,.theme-tab .preview-container .dummy .avatar-alt{background:linear-gradient(135deg,#b8e1fc,#a9d2f3 10%,#90bae4 25%,#90bcea 37%,#90bff0 50%,#6ba8e5 51%,#a2daf5 83%,#bdf3fd);color:#000;font-family:sans-serif;text-align:center;margin-right:1em}.theme-tab .preview-container .dummy .avatar-alt{-ms-flex:0 auto;flex:0 auto;margin-left:28px;font-size:12px;min-width:20px;min-height:20px;line-height:20px;border-radius:10px;border-radius:var(--avatarAltRadius,10px)}.theme-tab .preview-container .dummy .avatar{-ms-flex:0 auto;flex:0 auto;width:48px;height:48px;font-size:14px;line-height:48px}.theme-tab .preview-container .dummy .actions{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline}.theme-tab .preview-container .dummy .actions .checkbox{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:baseline;align-items:baseline;margin-right:1em;-ms-flex:1;flex:1}.theme-tab .preview-container .dummy .separator{margin:1em;border-bottom:1px solid;border-color:#222;border-color:var(--border,#222)}.theme-tab .preview-container .dummy .panel-heading .alert,.theme-tab .preview-container .dummy .panel-heading .badge,.theme-tab .preview-container .dummy .panel-heading .btn,.theme-tab .preview-container .dummy .panel-heading .faint{margin-left:1em;white-space:nowrap}.theme-tab .preview-container .dummy .panel-heading .faint{text-overflow:ellipsis;min-width:2em;overflow-x:hidden}.theme-tab .preview-container .dummy .panel-heading .flex-spacer{-ms-flex:1;flex:1}.theme-tab .preview-container .dummy .btn{margin-left:0;padding:0 1em;min-width:3em;min-height:30px}.theme-tab .apply-container{-ms-flex-pack:center;justify-content:center;position:absolute;bottom:8px;right:5px}.theme-tab .color-item,.theme-tab .radius-item{min-width:20em;margin:5px 6px 0 0;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex:1 1 0px;flex:1 1 0}.theme-tab .color-item.wide,.theme-tab .radius-item.wide{min-width:60%}.theme-tab .color-item:not(.wide):nth-child(odd),.theme-tab .radius-item:not(.wide):nth-child(odd){margin-right:7px}.theme-tab .color-item .color,.theme-tab .color-item .opacity,.theme-tab .radius-item .color,.theme-tab .radius-item .opacity{display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline}.theme-tab .radius-item{-ms-flex-preferred-size:auto;flex-basis:auto}.theme-tab .theme-color-cl,.theme-tab .theme-radius-rn{border:0;box-shadow:none;background:transparent;color:var(--faint,hsla(240,1%,73%,.5));-ms-flex-item-align:stretch;-ms-grid-row-align:stretch;align-self:stretch}.theme-tab .theme-color-cl,.theme-tab .theme-color-in,.theme-tab .theme-radius-in{margin-left:4px}.theme-tab .theme-radius-in{min-width:1em;max-width:7em;-ms-flex:1;flex:1}.theme-tab .theme-radius-lb{max-width:50em}.theme-tab .theme-preview-content{padding:20px}.theme-tab .apply-container .btn{min-height:28px;min-width:10em;padding:0 2em}.theme-tab .btn{margin-left:.25em;margin-right:.25em}",""])},668:function(t,e,s){var n=s(669);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(6).default)("7e57f952",n,!0,{})},669:function(t,e,s){(t.exports=s(5)(!1)).push([t.i,'.color-input,.color-input-field.input{display:-ms-inline-flexbox;display:inline-flex}.color-input-field.input{-ms-flex:0 0 0px;flex:0 0 0;max-width:9em;-ms-flex-align:stretch;align-items:stretch;padding:.2em 8px}.color-input-field.input input{background:none;color:#b9b9ba;color:var(--inputText,#b9b9ba);border:none;padding:0;margin:0}.color-input-field.input input.textColor{-ms-flex:1 0 3em;flex:1 0 3em;min-width:3em;padding:0}.color-input-field.input .computedIndicator,.color-input-field.input .transparentIndicator,.color-input-field.input input.nativeColor{-ms-flex:0 0 2em;flex:0 0 2em;min-width:2em;-ms-flex-item-align:center;-ms-grid-row-align:center;align-self:center;height:100%}.color-input-field.input .transparentIndicator{background-color:#f0f;position:relative}.color-input-field.input .transparentIndicator:after,.color-input-field.input .transparentIndicator:before{display:block;content:"";background-color:#000;position:absolute;height:50%;width:50%}.color-input-field.input .transparentIndicator:after{top:0;left:0}.color-input-field.input .transparentIndicator:before{bottom:0;right:0}.color-input .label{-ms-flex:1 1 auto;flex:1 1 auto}',""])},670:function(t,e,s){var n=s(671);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(6).default)("6c632637",n,!0,{})},671:function(t,e,s){(t.exports=s(5)(!1)).push([t.i,".color-control input.text-input{max-width:7em;-ms-flex:1;flex:1}",""])},672:function(t,e,s){var n=s(673);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(6).default)("d219da80",n,!0,{})},673:function(t,e,s){(t.exports=s(5)(!1)).push([t.i,".shadow-control{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin-bottom:1em}.shadow-control .shadow-preview-container,.shadow-control .shadow-tweak{margin:5px 6px 0 0}.shadow-control .shadow-preview-container{-ms-flex:0;flex:0;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.shadow-control .shadow-preview-container input[type=number]{width:5em;min-width:2em}.shadow-control .shadow-preview-container .x-shift-control,.shadow-control .shadow-preview-container .y-shift-control{display:-ms-flexbox;display:flex;-ms-flex:0;flex:0}.shadow-control .shadow-preview-container .x-shift-control[disabled=disabled] *,.shadow-control .shadow-preview-container .y-shift-control[disabled=disabled] *{opacity:.5}.shadow-control .shadow-preview-container .x-shift-control{-ms-flex-align:start;align-items:flex-start}.shadow-control .shadow-preview-container .x-shift-control .wrap,.shadow-control .shadow-preview-container input[type=range]{margin:0;width:15em;height:2em}.shadow-control .shadow-preview-container .y-shift-control{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:end;align-items:flex-end}.shadow-control .shadow-preview-container .y-shift-control .wrap{width:2em;height:15em}.shadow-control .shadow-preview-container .y-shift-control input[type=range]{transform-origin:1em 1em;transform:rotate(90deg)}.shadow-control .shadow-preview-container .preview-window{-ms-flex:1;flex:1;background-color:#999;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;background-image:linear-gradient(45deg,#666 25%,transparent 0),linear-gradient(-45deg,#666 25%,transparent 0),linear-gradient(45deg,transparent 75%,#666 0),linear-gradient(-45deg,transparent 75%,#666 0);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0;border-radius:4px;border-radius:var(--inputRadius,4px)}.shadow-control .shadow-preview-container .preview-window .preview-block{width:33%;height:33%;background-color:#121a24;background-color:var(--bg,#121a24);border-radius:10px;border-radius:var(--panelRadius,10px)}.shadow-control .shadow-tweak{-ms-flex:1;flex:1;min-width:280px}.shadow-control .shadow-tweak .id-control{-ms-flex-align:stretch;align-items:stretch}.shadow-control .shadow-tweak .id-control .shadow-switcher{-ms-flex:1;flex:1}.shadow-control .shadow-tweak .id-control .btn,.shadow-control .shadow-tweak .id-control .shadow-switcher{min-width:1px;margin-right:5px}.shadow-control .shadow-tweak .id-control .btn{padding:0 .4em;margin:0 .1em}",""])},674:function(t,e,s){var n=s(675);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(6).default)("d9c0acde",n,!0,{})},675:function(t,e,s){(t.exports=s(5)(!1)).push([t.i,".font-control input.custom-font{min-width:10em}.font-control.custom .font-switcher{border-top-right-radius:0;border-bottom-right-radius:0}.font-control.custom .custom-font{border-top-left-radius:0;border-bottom-left-radius:0}",""])},676:function(t,e,s){var n=s(677);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(6).default)("b94bc120",n,!0,{})},677:function(t,e,s){(t.exports=s(5)(!1)).push([t.i,".contrast-ratio{display:-ms-flexbox;display:flex;-ms-flex-pack:end;justify-content:flex-end;margin-top:-4px;margin-bottom:5px}.contrast-ratio .label{margin-right:1em}.contrast-ratio .rating{display:inline-block;text-align:center;margin-left:.5em}",""])},678:function(t,e,s){var n=s(679);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);(0,s(6).default)("6fe23c76",n,!0,{})},679:function(t,e,s){(t.exports=s(5)(!1)).push([t.i,".preview-container{position:relative}.underlay-preview{position:absolute;top:0;bottom:0;left:10px;right:10px}",""])},681:function(t,e,s){"use strict";s.r(e);var n=s(155),a=s(2),o=s.n(a),i=s(3),r=s(1);i.c.add(r.n,r.kb);var l={props:{submitHandler:{type:Function,required:!0},submitButtonLabel:{type:String,default:function(){return this.$t("importer.submit")}},successMessage:{type:String,default:function(){return this.$t("importer.success")}},errorMessage:{type:String,default:function(){return this.$t("importer.error")}}},data:function(){return{file:null,error:!1,success:!1,submitting:!1}},methods:{change:function(){this.file=this.$refs.input.files[0]},submit:function(){var t=this;this.dismiss(),this.submitting=!0,this.submitHandler(this.file).then((function(){t.success=!0})).catch((function(){t.error=!0})).finally((function(){t.submitting=!1}))},dismiss:function(){this.success=!1,this.error=!1}}},c=s(0);var u=function(t){s(631)},d=Object(c.a)(l,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"importer"},[s("form",[s("input",{ref:"input",attrs:{type:"file"},on:{change:t.change}})]),t._v(" "),t.submitting?s("FAIcon",{staticClass:"importer-uploading",attrs:{spin:"",icon:"circle-notch"}}):s("button",{staticClass:"btn button-default",on:{click:t.submit}},[t._v("\n "+t._s(t.submitButtonLabel)+"\n ")]),t._v(" "),t.success?s("div",[s("FAIcon",{attrs:{icon:"times"},on:{click:t.dismiss}}),t._v(" "),s("p",[t._v(t._s(t.successMessage))])],1):t.error?s("div",[s("FAIcon",{attrs:{icon:"times"},on:{click:t.dismiss}}),t._v(" "),s("p",[t._v(t._s(t.errorMessage))])],1):t._e()],1)}),[],!1,u,null,null).exports;i.c.add(r.n);var p={props:{getContent:{type:Function,required:!0},filename:{type:String,default:"export.csv"},exportButtonLabel:{type:String,default:function(){return this.$t("exporter.export")}},processingMessage:{type:String,default:function(){return this.$t("exporter.processing")}}},data:function(){return{processing:!1}},methods:{process:function(){var t=this;this.processing=!0,this.getContent().then((function(e){var s=document.createElement("a");s.setAttribute("href","data:text/plain;charset=utf-8,"+encodeURIComponent(e)),s.setAttribute("download",t.filename),s.style.display="none",document.body.appendChild(s),s.click(),document.body.removeChild(s),setTimeout((function(){t.processing=!1}),2e3)}))}}};var m=function(t){s(633)},h=Object(c.a)(p,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"exporter"},[t.processing?s("div",[s("FAIcon",{attrs:{icon:"circle-notch",size:"lg",spin:""}}),t._v(" "),s("span",[t._v(t._s(t.processingMessage))])],1):s("button",{staticClass:"btn button-default",on:{click:t.process}},[t._v("\n "+t._s(t.exportButtonLabel)+"\n ")])])}),[],!1,m,null,null).exports,v=s(62),f=s(4);function b(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),s.push.apply(s,n)}return s}var g={data:function(){return{activeTab:"profile",newDomainToMute:""}},created:function(){this.$store.dispatch("fetchTokens")},components:{Importer:d,Exporter:h,Checkbox:v.a},computed:function(t){for(var e=1;e0?s("div",{staticClass:"autosuggest-results"},[t._l(t.filtered,(function(e){return t._t("default",null,{item:e})}))],2):t._e()])}),[],!1,T,null,null).exports,P=s(45),S={props:["userId"],data:function(){return{progress:!1}},computed:{user:function(){return this.$store.getters.findUser(this.userId)},relationship:function(){return this.$store.getters.relationship(this.userId)},blocked:function(){return this.relationship.blocking}},components:{BasicUserCard:P.a},methods:{unblockUser:function(){var t=this;this.progress=!0,this.$store.dispatch("unblockUser",this.user.id).then((function(){t.progress=!1}))},blockUser:function(){var t=this;this.progress=!0,this.$store.dispatch("blockUser",this.user.id).then((function(){t.progress=!1}))}}};var I=function(t){s(639)},j=Object(c.a)(S,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("basic-user-card",{attrs:{user:t.user}},[s("div",{staticClass:"block-card-content-container"},[t.blocked?s("button",{staticClass:"btn button-default",attrs:{disabled:t.progress},on:{click:t.unblockUser}},[t.progress?[t._v("\n "+t._s(t.$t("user_card.unblock_progress"))+"\n ")]:[t._v("\n "+t._s(t.$t("user_card.unblock"))+"\n ")]],2):s("button",{staticClass:"btn button-default",attrs:{disabled:t.progress},on:{click:t.blockUser}},[t.progress?[t._v("\n "+t._s(t.$t("user_card.block_progress"))+"\n ")]:[t._v("\n "+t._s(t.$t("user_card.block"))+"\n ")]],2)])])}),[],!1,I,null,null).exports,B={props:["userId"],data:function(){return{progress:!1}},computed:{user:function(){return this.$store.getters.findUser(this.userId)},relationship:function(){return this.$store.getters.relationship(this.userId)},muted:function(){return this.relationship.muting}},components:{BasicUserCard:P.a},methods:{unmuteUser:function(){var t=this;this.progress=!0,this.$store.dispatch("unmuteUser",this.userId).then((function(){t.progress=!1}))},muteUser:function(){var t=this;this.progress=!0,this.$store.dispatch("muteUser",this.userId).then((function(){t.progress=!1}))}}};var F=function(t){s(641)},R=Object(c.a)(B,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("basic-user-card",{attrs:{user:t.user}},[s("div",{staticClass:"mute-card-content-container"},[t.muted?s("button",{staticClass:"btn button-default",attrs:{disabled:t.progress},on:{click:t.unmuteUser}},[t.progress?[t._v("\n "+t._s(t.$t("user_card.unmute_progress"))+"\n ")]:[t._v("\n "+t._s(t.$t("user_card.unmute"))+"\n ")]],2):s("button",{staticClass:"btn button-default",attrs:{disabled:t.progress},on:{click:t.muteUser}},[t.progress?[t._v("\n "+t._s(t.$t("user_card.mute_progress"))+"\n ")]:[t._v("\n "+t._s(t.$t("user_card.mute"))+"\n ")]],2)])])}),[],!1,F,null,null).exports,E=s(90),A={props:["domain"],components:{ProgressButton:E.a},computed:{user:function(){return this.$store.state.users.currentUser},muted:function(){return this.user.domainMutes.includes(this.domain)}},methods:{unmuteDomain:function(){return this.$store.dispatch("unmuteDomain",this.domain)},muteDomain:function(){return this.$store.dispatch("muteDomain",this.domain)}}};var M=function(t){s(643)},D=Object(c.a)(A,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"domain-mute-card"},[s("div",{staticClass:"domain-mute-card-domain"},[t._v("\n "+t._s(t.domain)+"\n ")]),t._v(" "),t.muted?s("ProgressButton",{staticClass:"btn button-default",attrs:{click:t.unmuteDomain},scopedSlots:t._u([{key:"progress",fn:function(){return[t._v("\n "+t._s(t.$t("domain_mute_card.unmute_progress"))+"\n ")]},proxy:!0}],null,!1,11670719)},[t._v("\n "+t._s(t.$t("domain_mute_card.unmute"))+"\n ")]):s("ProgressButton",{staticClass:"btn button-default",attrs:{click:t.muteDomain},scopedSlots:t._u([{key:"progress",fn:function(){return[t._v("\n "+t._s(t.$t("domain_mute_card.mute_progress"))+"\n ")]},proxy:!0}])},[t._v("\n "+t._s(t.$t("domain_mute_card.mute"))+"\n ")])],1)}),[],!1,M,null,null).exports,U={components:{List:s(60).a,Checkbox:v.a},props:{items:{type:Array,default:function(){return[]}},getKey:{type:Function,default:function(t){return t.id}}},data:function(){return{selected:[]}},computed:{allKeys:function(){return this.items.map(this.getKey)},filteredSelected:function(){var t=this;return this.allKeys.filter((function(e){return-1!==t.selected.indexOf(e)}))},allSelected:function(){return this.filteredSelected.length===this.items.length},noneSelected:function(){return 0===this.filteredSelected.length},someSelected:function(){return!this.allSelected&&!this.noneSelected}},methods:{isSelected:function(t){return-1!==this.filteredSelected.indexOf(this.getKey(t))},toggle:function(t,e){var s=this.getKey(e);t!==this.isSelected(s)&&(t?this.selected.push(s):this.selected.splice(this.selected.indexOf(s),1))},toggleAll:function(t){this.selected=t?this.allKeys.slice(0):[]}}};var N=function(t){s(645)},V=Object(c.a)(U,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"selectable-list"},[t.items.length>0?s("div",{staticClass:"selectable-list-header"},[s("div",{staticClass:"selectable-list-checkbox-wrapper"},[s("Checkbox",{attrs:{checked:t.allSelected,indeterminate:t.someSelected},on:{change:t.toggleAll}},[t._v("\n "+t._s(t.$t("selectable_list.select_all"))+"\n ")])],1),t._v(" "),s("div",{staticClass:"selectable-list-header-actions"},[t._t("header",null,{selected:t.filteredSelected})],2)]):t._e(),t._v(" "),s("List",{attrs:{items:t.items,"get-key":t.getKey},scopedSlots:t._u([{key:"item",fn:function(e){var n=e.item;return[s("div",{staticClass:"selectable-list-item-inner",class:{"selectable-list-item-selected-inner":t.isSelected(n)}},[s("div",{staticClass:"selectable-list-checkbox-wrapper"},[s("Checkbox",{attrs:{checked:t.isSelected(n)},on:{change:function(e){return t.toggle(e,n)}}})],1),t._v(" "),t._t("item",null,{item:n})],2)]}},{key:"empty",fn:function(){return[t._t("empty")]},proxy:!0}],null,!0)})],1)}),[],!1,N,null,null).exports,W=s(206),q=s.n(W),z=s(8),G=s.n(z),K=s(10),H=s.n(K),J=s(9),Q=s.n(J),X=s(207),Y=s.n(X),Z=s(208),tt=(s(647),s(59));function et(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),s.push.apply(s,n)}return s}function st(t){for(var e=1;e0?s("ProgressButton",{staticClass:"btn button-default bulk-action-button",attrs:{click:function(){return t.blockUsers(n)}},scopedSlots:t._u([{key:"progress",fn:function(){return[t._v("\n "+t._s(t.$t("user_card.block_progress"))+"\n ")]},proxy:!0}],null,!0)},[t._v("\n "+t._s(t.$t("user_card.block"))+"\n ")]):t._e(),t._v(" "),n.length>0?s("ProgressButton",{staticClass:"btn button-default",attrs:{click:function(){return t.unblockUsers(n)}},scopedSlots:t._u([{key:"progress",fn:function(){return[t._v("\n "+t._s(t.$t("user_card.unblock_progress"))+"\n ")]},proxy:!0}],null,!0)},[t._v("\n "+t._s(t.$t("user_card.unblock"))+"\n ")]):t._e()],1)]}},{key:"item",fn:function(t){var e=t.item;return[s("BlockCard",{attrs:{"user-id":e}})]}},{key:"empty",fn:function(){return[t._v("\n "+t._s(t.$t("settings.no_blocks"))+"\n ")]},proxy:!0}])})],1),t._v(" "),s("div",{attrs:{label:t.$t("settings.mutes_tab")}},[s("tab-switcher",[s("div",{attrs:{label:"Users"}},[s("div",{staticClass:"usersearch-wrapper"},[s("Autosuggest",{attrs:{filter:t.filterUnMutedUsers,query:t.queryUserIds,placeholder:t.$t("settings.search_user_to_mute")},scopedSlots:t._u([{key:"default",fn:function(t){return[s("MuteCard",{attrs:{"user-id":t.item}})]}}])})],1),t._v(" "),s("MuteList",{attrs:{refresh:!0,"get-key":function(t){return t}},scopedSlots:t._u([{key:"header",fn:function(e){var n=e.selected;return[s("div",{staticClass:"bulk-actions"},[n.length>0?s("ProgressButton",{staticClass:"btn button-default",attrs:{click:function(){return t.muteUsers(n)}},scopedSlots:t._u([{key:"progress",fn:function(){return[t._v("\n "+t._s(t.$t("user_card.mute_progress"))+"\n ")]},proxy:!0}],null,!0)},[t._v("\n "+t._s(t.$t("user_card.mute"))+"\n ")]):t._e(),t._v(" "),n.length>0?s("ProgressButton",{staticClass:"btn button-default",attrs:{click:function(){return t.unmuteUsers(n)}},scopedSlots:t._u([{key:"progress",fn:function(){return[t._v("\n "+t._s(t.$t("user_card.unmute_progress"))+"\n ")]},proxy:!0}],null,!0)},[t._v("\n "+t._s(t.$t("user_card.unmute"))+"\n ")]):t._e()],1)]}},{key:"item",fn:function(t){var e=t.item;return[s("MuteCard",{attrs:{"user-id":e}})]}},{key:"empty",fn:function(){return[t._v("\n "+t._s(t.$t("settings.no_mutes"))+"\n ")]},proxy:!0}])})],1),t._v(" "),s("div",{attrs:{label:t.$t("settings.domain_mutes")}},[s("div",{staticClass:"domain-mute-form"},[s("Autosuggest",{attrs:{filter:t.filterUnMutedDomains,query:t.queryKnownDomains,placeholder:t.$t("settings.type_domains_to_mute")},scopedSlots:t._u([{key:"default",fn:function(t){return[s("DomainMuteCard",{attrs:{domain:t.item}})]}}])})],1),t._v(" "),s("DomainMuteList",{attrs:{refresh:!0,"get-key":function(t){return t}},scopedSlots:t._u([{key:"header",fn:function(e){var n=e.selected;return[s("div",{staticClass:"bulk-actions"},[n.length>0?s("ProgressButton",{staticClass:"btn button-default",attrs:{click:function(){return t.unmuteDomains(n)}},scopedSlots:t._u([{key:"progress",fn:function(){return[t._v("\n "+t._s(t.$t("domain_mute_card.unmute_progress"))+"\n ")]},proxy:!0}],null,!0)},[t._v("\n "+t._s(t.$t("domain_mute_card.unmute"))+"\n ")]):t._e()],1)]}},{key:"item",fn:function(t){var e=t.item;return[s("DomainMuteCard",{attrs:{domain:e}})]}},{key:"empty",fn:function(){return[t._v("\n "+t._s(t.$t("settings.no_mutes"))+"\n ")]},proxy:!0}])})],1)])],1)])}),[],!1,lt,null,null).exports,ut={data:function(){return{activeTab:"profile",notificationSettings:this.$store.state.users.currentUser.notification_settings,newDomainToMute:""}},components:{Checkbox:v.a},computed:{user:function(){return this.$store.state.users.currentUser}},methods:{updateNotificationSettings:function(){this.$store.state.api.backendInteractor.updateNotificationSettings({settings:this.notificationSettings})}}},dt=Object(c.a)(ut,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{attrs:{label:t.$t("settings.notifications")}},[s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.notification_setting_filters")))]),t._v(" "),s("p",[s("Checkbox",{model:{value:t.notificationSettings.block_from_strangers,callback:function(e){t.$set(t.notificationSettings,"block_from_strangers",e)},expression:"notificationSettings.block_from_strangers"}},[t._v("\n "+t._s(t.$t("settings.notification_setting_block_from_strangers"))+"\n ")])],1)]),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.notification_setting_privacy")))]),t._v(" "),s("p",[s("Checkbox",{model:{value:t.notificationSettings.hide_notification_contents,callback:function(e){t.$set(t.notificationSettings,"hide_notification_contents",e)},expression:"notificationSettings.hide_notification_contents"}},[t._v("\n "+t._s(t.$t("settings.notification_setting_hide_notification_contents"))+"\n ")])],1)]),t._v(" "),s("div",{staticClass:"setting-item"},[s("p",[t._v(t._s(t.$t("settings.notification_mutes")))]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.notification_blocks")))]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.updateNotificationSettings}},[t._v("\n "+t._s(t.$t("settings.save"))+"\n ")])])])}),[],!1,null,null,null).exports,pt=s(648),mt=s.n(pt),ht=s(42),vt=s.n(ht),ft=s(626),bt=s.n(ft),gt=s(157),_t=s.n(gt),wt=s(21);i.c.add(r.qb);var Ct={components:{Popover:wt.default},props:["changed"]};var xt=function(t){s(651)},kt=Object(c.a)(Ct,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.changed?s("span",{staticClass:"ModifiedIndicator"},[s("Popover",{attrs:{trigger:"hover"},scopedSlots:t._u([{key:"trigger",fn:function(){return[t._v("\n  \n "),s("FAIcon",{attrs:{icon:"wrench","aria-label":t.$t("settings.setting_changed")}})]},proxy:!0},{key:"content",fn:function(){return[s("div",{staticClass:"modified-tooltip"},[t._v("\n "+t._s(t.$t("settings.setting_changed"))+"\n ")])]},proxy:!0}],null,!1,1710729471)})],1):t._e()}),[],!1,xt,null,null).exports,yt={components:{Checkbox:v.a,ModifiedIndicator:kt},props:["path","disabled"],computed:{pathDefault:function(){var t=this.path.split("."),e=bt()(t),s=e[0],n=e.slice(1);return[s+"DefaultValue"].concat(H()(n)).join(".")},state:function(){var t=C()(this.$parent,this.path);return void 0===t?this.defaultState:t},defaultState:function(){return C()(this.$parent,this.pathDefault)},isChanged:function(){return this.state!==this.defaultState}},methods:{update:function(t){_t()(this.$parent,this.path,t)}}},$t=Object(c.a)(yt,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("label",{staticClass:"BooleanSetting"},[s("Checkbox",{attrs:{checked:t.state,disabled:t.disabled},on:{change:t.update}},[t.$slots.default?s("span",{staticClass:"label"},[t._t("default")],2):t._e(),t._v(" "),s("ModifiedIndicator",{attrs:{changed:t.isChanged}})],1)],1)}),[],!1,null,null,null).exports,Lt=s(63),Tt={components:{Select:Lt.a,ModifiedIndicator:kt},props:["path","disabled","options"],computed:{pathDefault:function(){var t=this.path.split("."),e=bt()(t),s=e[0],n=e.slice(1);return[s+"DefaultValue"].concat(H()(n)).join(".")},state:function(){var t=C()(this.$parent,this.path);return void 0===t?this.defaultState:t},defaultState:function(){return C()(this.$parent,this.pathDefault)},isChanged:function(){return this.state!==this.defaultState}},methods:{update:function(t){_t()(this.$parent,this.path,t)}}};var Ot=function(t){s(653)},Pt=Object(c.a)(Tt,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("label",{staticClass:"ChoiceSetting"},[t._t("default"),t._v(" "),s("Select",{attrs:{value:t.state,disabled:t.disabled},on:{change:t.update}},t._l(t.options,(function(e){return s("option",{key:e.key,domProps:{value:e.value}},[t._v("\n "+t._s(e.label)+"\n "+t._s(e.value===t.defaultState?t.$t("settings.instance_default_simple"):"")+"\n ")])})),0),t._v(" "),s("ModifiedIndicator",{attrs:{changed:t.isChanged}})],2)}),[],!1,Ot,null,null).exports,St=s(107);function It(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),s.push.apply(s,n)}return s}function jt(t){for(var e=1;e0}))})}}}),watch:{notificationVisibility:{handler:function(t){this.$store.dispatch("setOption",{name:"notificationVisibility",value:this.$store.getters.mergedConfig.notificationVisibility})},deep:!0},replyVisibility:function(){this.$store.dispatch("queueFlushAll")}}},Et=Object(c.a)(Rt,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{attrs:{label:t.$t("settings.filtering")}},[s("div",{staticClass:"setting-item"},[s("div",{staticClass:"select-multiple"},[s("span",{staticClass:"label"},[t._v(t._s(t.$t("settings.notification_visibility")))]),t._v(" "),s("ul",{staticClass:"option-list"},[s("li",[s("BooleanSetting",{attrs:{path:"notificationVisibility.likes"}},[t._v("\n "+t._s(t.$t("settings.notification_visibility_likes"))+"\n ")])],1),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"notificationVisibility.repeats"}},[t._v("\n "+t._s(t.$t("settings.notification_visibility_repeats"))+"\n ")])],1),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"notificationVisibility.follows"}},[t._v("\n "+t._s(t.$t("settings.notification_visibility_follows"))+"\n ")])],1),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"notificationVisibility.mentions"}},[t._v("\n "+t._s(t.$t("settings.notification_visibility_mentions"))+"\n ")])],1),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"notificationVisibility.moves"}},[t._v("\n "+t._s(t.$t("settings.notification_visibility_moves"))+"\n ")])],1),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"notificationVisibility.emojiReactions"}},[t._v("\n "+t._s(t.$t("settings.notification_visibility_emoji_reactions"))+"\n ")])],1)])]),t._v(" "),s("ChoiceSetting",{attrs:{id:"replyVisibility",path:"replyVisibility",options:t.replyVisibilityOptions}},[t._v("\n "+t._s(t.$t("settings.replies_in_timeline"))+"\n ")]),t._v(" "),s("div",[s("BooleanSetting",{attrs:{path:"hidePostStats"}},[t._v("\n "+t._s(t.$t("settings.hide_post_stats"))+"\n ")])],1),t._v(" "),s("div",[s("BooleanSetting",{attrs:{path:"hideUserStats"}},[t._v("\n "+t._s(t.$t("settings.hide_user_stats"))+"\n ")])],1)],1),t._v(" "),s("div",{staticClass:"setting-item"},[s("div",[s("p",[t._v(t._s(t.$t("settings.filtering_explanation")))]),t._v(" "),s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.muteWordsString,expression:"muteWordsString"}],staticClass:"resize-height",attrs:{id:"muteWords"},domProps:{value:t.muteWordsString},on:{input:function(e){e.target.composing||(t.muteWordsString=e.target.value)}}})]),t._v(" "),s("div",[s("BooleanSetting",{attrs:{path:"hideFilteredStatuses"}},[t._v("\n "+t._s(t.$t("settings.hide_filtered_statuses"))+"\n ")])],1)])])}),[],!1,null,null,null).exports,At=s(7),Mt=s.n(At),Dt={props:{backupCodes:{type:Object,default:function(){return{inProgress:!1,codes:[]}}}},data:function(){return{}},computed:{inProgress:function(){return this.backupCodes.inProgress},ready:function(){return this.backupCodes.codes.length>0},displayTitle:function(){return this.inProgress||this.ready}}};var Ut=function(t){s(657)},Nt=Object(c.a)(Dt,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"mfa-backup-codes"},[t.displayTitle?s("h4",[t._v("\n "+t._s(t.$t("settings.mfa.recovery_codes"))+"\n ")]):t._e(),t._v(" "),t.inProgress?s("i",[t._v(t._s(t.$t("settings.mfa.waiting_a_recovery_codes")))]):t._e(),t._v(" "),t.ready?[s("p",{staticClass:"alert warning"},[t._v("\n "+t._s(t.$t("settings.mfa.recovery_codes_warning"))+"\n ")]),t._v(" "),s("ul",{staticClass:"backup-codes"},t._l(t.backupCodes.codes,(function(e){return s("li",{key:e},[t._v("\n "+t._s(e)+"\n ")])})),0)]:t._e()],2)}),[],!1,Ut,null,null).exports,Vt={props:["disabled"],data:function(){return{}},methods:{confirm:function(){this.$emit("confirm")},cancel:function(){this.$emit("cancel")}}},Wt=Object(c.a)(Vt,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",[t._t("default"),t._v(" "),s("button",{staticClass:"btn button-default",attrs:{disabled:t.disabled},on:{click:t.confirm}},[t._v("\n "+t._s(t.$t("general.confirm"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn button-default",attrs:{disabled:t.disabled},on:{click:t.cancel}},[t._v("\n "+t._s(t.$t("general.cancel"))+"\n ")])],2)}),[],!1,null,null,null).exports;function qt(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),s.push.apply(s,n)}return s}var zt={props:["settings"],data:function(){return{error:!1,currentPassword:"",deactivate:!1,inProgress:!1}},components:{confirm:Wt},computed:function(t){for(var e=1;e0},confirmNewBackupCodes:function(){return this.backupCodes.getNewCodes}},Object(f.e)({backendInteractor:function(t){return t.api.backendInteractor}})),methods:{activateOTP:function(){this.settings.enabled||(this.setupState.state="getBackupcodes",this.fetchBackupCodes())},fetchBackupCodes:function(){var t=this;return this.backupCodes.inProgress=!0,this.backupCodes.codes=[],this.backendInteractor.generateMfaBackupCodes().then((function(e){t.backupCodes.codes=e.codes,t.backupCodes.inProgress=!1}))},getBackupCodes:function(){this.backupCodes.getNewCodes=!0},confirmBackupCodes:function(){var t=this;this.fetchBackupCodes().then((function(e){t.backupCodes.getNewCodes=!1}))},cancelBackupCodes:function(){this.backupCodes.getNewCodes=!1},setupOTP:function(){var t=this;this.setupState.state="setupOTP",this.setupState.setupOTPState="prepare",this.backendInteractor.mfaSetupOTP().then((function(e){t.otpSettings=e,t.setupState.setupOTPState="confirm"}))},doConfirmOTP:function(){var t=this;this.error=null,this.backendInteractor.mfaConfirmOTP({token:this.otpConfirmToken,password:this.currentPassword}).then((function(e){e.error?t.error=e.error:t.completeSetup()}))},completeSetup:function(){this.setupState.setupOTPState="complete",this.setupState.state="complete",this.currentPassword=null,this.error=null,this.fetchSettings()},cancelSetup:function(){this.setupState.setupOTPState="",this.setupState.state="",this.currentPassword=null,this.error=null},fetchSettings:function(){var t;return Mt.a.async((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Mt.a.awrap(this.backendInteractor.settingsMFA());case 2:if(!(t=e.sent).error){e.next=5;break}return e.abrupt("return");case 5:return this.settings=t.settings,this.settings.available=!0,e.abrupt("return",t);case 8:case"end":return e.stop()}}),null,this)}},mounted:function(){var t=this;this.fetchSettings().then((function(){t.readyInit=!0}))}};var Ht=function(t){s(655)},Jt=Object(c.a)(Kt,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.readyInit&&t.settings.available?s("div",{staticClass:"setting-item mfa-settings"},[s("div",{staticClass:"mfa-heading"},[s("h2",[t._v(t._s(t.$t("settings.mfa.title")))])]),t._v(" "),s("div",[t.setupInProgress?t._e():s("div",{staticClass:"setting-item"},[s("h3",[t._v(t._s(t.$t("settings.mfa.authentication_methods")))]),t._v(" "),s("totp-item",{attrs:{settings:t.settings},on:{deactivate:t.fetchSettings,activate:t.activateOTP}}),t._v(" "),s("br"),t._v(" "),t.settings.enabled?s("div",[t.confirmNewBackupCodes?t._e():s("recovery-codes",{attrs:{"backup-codes":t.backupCodes}}),t._v(" "),t.confirmNewBackupCodes?t._e():s("button",{staticClass:"btn button-default",on:{click:t.getBackupCodes}},[t._v("\n "+t._s(t.$t("settings.mfa.generate_new_recovery_codes"))+"\n ")]),t._v(" "),t.confirmNewBackupCodes?s("div",[s("confirm",{attrs:{disabled:t.backupCodes.inProgress},on:{confirm:t.confirmBackupCodes,cancel:t.cancelBackupCodes}},[s("p",{staticClass:"warning"},[t._v("\n "+t._s(t.$t("settings.mfa.warning_of_generate_new_codes"))+"\n ")])])],1):t._e()],1):t._e()],1),t._v(" "),t.setupInProgress?s("div",[s("h3",[t._v(t._s(t.$t("settings.mfa.setup_otp")))]),t._v(" "),t.setupOTPInProgress?t._e():s("recovery-codes",{attrs:{"backup-codes":t.backupCodes}}),t._v(" "),t.canSetupOTP?s("button",{staticClass:"btn button-default",on:{click:t.cancelSetup}},[t._v("\n "+t._s(t.$t("general.cancel"))+"\n ")]):t._e(),t._v(" "),t.canSetupOTP?s("button",{staticClass:"btn button-default",on:{click:t.setupOTP}},[t._v("\n "+t._s(t.$t("settings.mfa.setup_otp"))+"\n ")]):t._e(),t._v(" "),t.setupOTPInProgress?[t.prepareOTP?s("i",[t._v(t._s(t.$t("settings.mfa.wait_pre_setup_otp")))]):t._e(),t._v(" "),t.confirmOTP?s("div",[s("div",{staticClass:"setup-otp"},[s("div",{staticClass:"qr-code"},[s("h4",[t._v(t._s(t.$t("settings.mfa.scan.title")))]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.mfa.scan.desc")))]),t._v(" "),s("qrcode",{attrs:{value:t.otpSettings.provisioning_uri,options:{width:200}}}),t._v(" "),s("p",[t._v("\n "+t._s(t.$t("settings.mfa.scan.secret_code"))+":\n "+t._s(t.otpSettings.key)+"\n ")])],1),t._v(" "),s("div",{staticClass:"verify"},[s("h4",[t._v(t._s(t.$t("general.verify")))]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.mfa.verify.desc")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.otpConfirmToken,expression:"otpConfirmToken"}],attrs:{type:"text"},domProps:{value:t.otpConfirmToken},on:{input:function(e){e.target.composing||(t.otpConfirmToken=e.target.value)}}}),t._v(" "),s("p",[t._v(t._s(t.$t("settings.enter_current_password_to_confirm"))+":")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.currentPassword,expression:"currentPassword"}],attrs:{type:"password"},domProps:{value:t.currentPassword},on:{input:function(e){e.target.composing||(t.currentPassword=e.target.value)}}}),t._v(" "),s("div",{staticClass:"confirm-otp-actions"},[s("button",{staticClass:"btn button-default",on:{click:t.doConfirmOTP}},[t._v("\n "+t._s(t.$t("settings.mfa.confirm_and_enable"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.cancelSetup}},[t._v("\n "+t._s(t.$t("general.cancel"))+"\n ")])]),t._v(" "),t.error?s("div",{staticClass:"alert error"},[t._v("\n "+t._s(t.error)+"\n ")]):t._e()])])]):t._e()]:t._e()],2):t._e()])]):t._e()}),[],!1,Ht,null,null).exports,Qt=s(106),Xt={data:function(){return{newEmail:"",changeEmailError:!1,changeEmailPassword:"",changedEmail:!1,deletingAccount:!1,deleteAccountConfirmPasswordInput:"",deleteAccountError:!1,changePasswordInputs:["","",""],changedPassword:!1,changePasswordError:!1}},created:function(){this.$store.dispatch("fetchTokens")},components:{ProgressButton:E.a,Mfa:Jt,Checkbox:v.a},computed:{user:function(){return this.$store.state.users.currentUser},pleromaBackend:function(){return this.$store.state.instance.pleromaBackend},oauthTokens:function(){var t=this;return this.$store.state.oauthTokens.tokens.map((function(e){return{id:e.id,appName:e.app_name,validUntil:new Date(e.valid_until).toLocaleDateString(Qt.a.internalToBrowserLocale(t.$i18n.locale))}}))}},methods:{confirmDelete:function(){this.deletingAccount=!0},deleteAccount:function(){var t=this;this.$store.state.api.backendInteractor.deleteAccount({password:this.deleteAccountConfirmPasswordInput}).then((function(e){"success"===e.status?(t.$store.dispatch("logout"),t.$router.push({name:"root"})):t.deleteAccountError=e.error}))},changePassword:function(){var t=this,e={password:this.changePasswordInputs[0],newPassword:this.changePasswordInputs[1],newPasswordConfirmation:this.changePasswordInputs[2]};this.$store.state.api.backendInteractor.changePassword(e).then((function(e){"success"===e.status?(t.changedPassword=!0,t.changePasswordError=!1,t.logout()):(t.changedPassword=!1,t.changePasswordError=e.error)}))},changeEmail:function(){var t=this,e={email:this.newEmail,password:this.changeEmailPassword};this.$store.state.api.backendInteractor.changeEmail(e).then((function(e){"success"===e.status?(t.changedEmail=!0,t.changeEmailError=!1):(t.changedEmail=!1,t.changeEmailError=e.error)}))},logout:function(){this.$store.dispatch("logout"),this.$router.replace("/")},revokeToken:function(t){window.confirm("".concat(this.$i18n.t("settings.revoke_token"),"?"))&&this.$store.dispatch("revokeToken",t)}}},Yt=Object(c.a)(Xt,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{attrs:{label:t.$t("settings.security_tab")}},[s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.change_email")))]),t._v(" "),s("div",[s("p",[t._v(t._s(t.$t("settings.new_email")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.newEmail,expression:"newEmail"}],attrs:{type:"email",autocomplete:"email"},domProps:{value:t.newEmail},on:{input:function(e){e.target.composing||(t.newEmail=e.target.value)}}})]),t._v(" "),s("div",[s("p",[t._v(t._s(t.$t("settings.current_password")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.changeEmailPassword,expression:"changeEmailPassword"}],attrs:{type:"password",autocomplete:"current-password"},domProps:{value:t.changeEmailPassword},on:{input:function(e){e.target.composing||(t.changeEmailPassword=e.target.value)}}})]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.changeEmail}},[t._v("\n "+t._s(t.$t("settings.save"))+"\n ")]),t._v(" "),t.changedEmail?s("p",[t._v("\n "+t._s(t.$t("settings.changed_email"))+"\n ")]):t._e(),t._v(" "),!1!==t.changeEmailError?[s("p",[t._v(t._s(t.$t("settings.change_email_error")))]),t._v(" "),s("p",[t._v(t._s(t.changeEmailError))])]:t._e()],2),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.change_password")))]),t._v(" "),s("div",[s("p",[t._v(t._s(t.$t("settings.current_password")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.changePasswordInputs[0],expression:"changePasswordInputs[0]"}],attrs:{type:"password"},domProps:{value:t.changePasswordInputs[0]},on:{input:function(e){e.target.composing||t.$set(t.changePasswordInputs,0,e.target.value)}}})]),t._v(" "),s("div",[s("p",[t._v(t._s(t.$t("settings.new_password")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.changePasswordInputs[1],expression:"changePasswordInputs[1]"}],attrs:{type:"password"},domProps:{value:t.changePasswordInputs[1]},on:{input:function(e){e.target.composing||t.$set(t.changePasswordInputs,1,e.target.value)}}})]),t._v(" "),s("div",[s("p",[t._v(t._s(t.$t("settings.confirm_new_password")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.changePasswordInputs[2],expression:"changePasswordInputs[2]"}],attrs:{type:"password"},domProps:{value:t.changePasswordInputs[2]},on:{input:function(e){e.target.composing||t.$set(t.changePasswordInputs,2,e.target.value)}}})]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.changePassword}},[t._v("\n "+t._s(t.$t("settings.save"))+"\n ")]),t._v(" "),t.changedPassword?s("p",[t._v("\n "+t._s(t.$t("settings.changed_password"))+"\n ")]):!1!==t.changePasswordError?s("p",[t._v("\n "+t._s(t.$t("settings.change_password_error"))+"\n ")]):t._e(),t._v(" "),t.changePasswordError?s("p",[t._v("\n "+t._s(t.changePasswordError)+"\n ")]):t._e()]),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.oauth_tokens")))]),t._v(" "),s("table",{staticClass:"oauth-tokens"},[s("thead",[s("tr",[s("th",[t._v(t._s(t.$t("settings.app_name")))]),t._v(" "),s("th",[t._v(t._s(t.$t("settings.valid_until")))]),t._v(" "),s("th")])]),t._v(" "),s("tbody",t._l(t.oauthTokens,(function(e){return s("tr",{key:e.id},[s("td",[t._v(t._s(e.appName))]),t._v(" "),s("td",[t._v(t._s(e.validUntil))]),t._v(" "),s("td",{staticClass:"actions"},[s("button",{staticClass:"btn button-default",on:{click:function(s){return t.revokeToken(e.id)}}},[t._v("\n "+t._s(t.$t("settings.revoke_token"))+"\n ")])])])})),0)])]),t._v(" "),s("mfa"),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.delete_account")))]),t._v(" "),t.deletingAccount?t._e():s("p",[t._v("\n "+t._s(t.$t("settings.delete_account_description"))+"\n ")]),t._v(" "),t.deletingAccount?s("div",[s("p",[t._v(t._s(t.$t("settings.delete_account_instructions")))]),t._v(" "),s("p",[t._v(t._s(t.$t("login.password")))]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.deleteAccountConfirmPasswordInput,expression:"deleteAccountConfirmPasswordInput"}],attrs:{type:"password"},domProps:{value:t.deleteAccountConfirmPasswordInput},on:{input:function(e){e.target.composing||(t.deleteAccountConfirmPasswordInput=e.target.value)}}}),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.deleteAccount}},[t._v("\n "+t._s(t.$t("settings.delete_account"))+"\n ")])]):t._e(),t._v(" "),!1!==t.deleteAccountError?s("p",[t._v("\n "+t._s(t.$t("settings.delete_account_error"))+"\n ")]):t._e(),t._v(" "),t.deleteAccountError?s("p",[t._v("\n "+t._s(t.deleteAccountError)+"\n ")]):t._e(),t._v(" "),t.deletingAccount?t._e():s("button",{staticClass:"btn button-default",on:{click:t.confirmDelete}},[t._v("\n "+t._s(t.$t("settings.save"))+"\n ")])])],1)}),[],!1,null,null,null).exports,Zt=s(109),te=s.n(Zt),ee=s(108),se=s.n(ee),ne=s(25),ae=s.n(ne),oe=s(664);s(665);i.c.add(r.n);var ie={props:{trigger:{type:[String,window.Element],required:!0},submitHandler:{type:Function,required:!0},cropperOptions:{type:Object,default:function(){return{aspectRatio:1,autoCropArea:1,viewMode:1,movable:!1,zoomable:!1,guides:!1}}},mimes:{type:String,default:"image/png, image/gif, image/jpeg, image/bmp, image/x-icon"},saveButtonLabel:{type:String},saveWithoutCroppingButtonlabel:{type:String},cancelButtonLabel:{type:String}},data:function(){return{cropper:void 0,dataUrl:void 0,filename:void 0,submitting:!1}},computed:{saveText:function(){return this.saveButtonLabel||this.$t("image_cropper.save")},saveWithoutCroppingText:function(){return this.saveWithoutCroppingButtonlabel||this.$t("image_cropper.save_without_cropping")},cancelText:function(){return this.cancelButtonLabel||this.$t("image_cropper.cancel")}},methods:{destroy:function(){this.cropper&&this.cropper.destroy(),this.$refs.input.value="",this.dataUrl=void 0,this.$emit("close")},submit:function(){var t=this,e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];this.submitting=!0,this.submitHandler(e&&this.cropper,this.file).then((function(){return t.destroy()})).finally((function(){t.submitting=!1}))},pickImage:function(){this.$refs.input.click()},createCropper:function(){this.cropper=new oe.a(this.$refs.img,this.cropperOptions)},getTriggerDOM:function(){return"object"===ae()(this.trigger)?this.trigger:document.querySelector(this.trigger)},readFile:function(){var t=this,e=this.$refs.input;if(null!=e.files&&null!=e.files[0]){this.file=e.files[0];var s=new window.FileReader;s.onload=function(e){t.dataUrl=e.target.result,t.$emit("open")},s.readAsDataURL(this.file),this.$emit("changed",this.file,s)}}},mounted:function(){var t=this.getTriggerDOM();t?t.addEventListener("click",this.pickImage):this.$emit("error","No image make trigger found.","user"),this.$refs.input.addEventListener("change",this.readFile)},beforeDestroy:function(){var t=this.getTriggerDOM();t&&t.removeEventListener("click",this.pickImage),this.$refs.input.removeEventListener("change",this.readFile)}};var re=function(t){s(662)},le=Object(c.a)(ie,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"image-cropper"},[t.dataUrl?s("div",[s("div",{staticClass:"image-cropper-image-container"},[s("img",{ref:"img",attrs:{src:t.dataUrl,alt:""},on:{load:function(e){return e.stopPropagation(),t.createCropper(e)}}})]),t._v(" "),s("div",{staticClass:"image-cropper-buttons-wrapper"},[s("button",{staticClass:"button-default btn",attrs:{type:"button",disabled:t.submitting},domProps:{textContent:t._s(t.saveText)},on:{click:function(e){return t.submit()}}}),t._v(" "),s("button",{staticClass:"button-default btn",attrs:{type:"button",disabled:t.submitting},domProps:{textContent:t._s(t.cancelText)},on:{click:t.destroy}}),t._v(" "),s("button",{staticClass:"button-default btn",attrs:{type:"button",disabled:t.submitting},domProps:{textContent:t._s(t.saveWithoutCroppingText)},on:{click:function(e){return t.submit(!1)}}}),t._v(" "),t.submitting?s("FAIcon",{attrs:{spin:"",icon:"circle-notch"}}):t._e()],1)]):t._e(),t._v(" "),s("input",{ref:"input",staticClass:"image-cropper-img-input",attrs:{type:"file",accept:t.mimes}})])}),[],!1,re,null,null).exports,ce=s(212),ue=s(83),de=s(211),pe=s(149);i.c.add(r.kb,r.Q,r.n);var me={data:function(){return{newName:this.$store.state.users.currentUser.name_unescaped,newBio:te()(this.$store.state.users.currentUser.description),newLocked:this.$store.state.users.currentUser.locked,newNoRichText:this.$store.state.users.currentUser.no_rich_text,newDefaultScope:this.$store.state.users.currentUser.default_scope,newFields:this.$store.state.users.currentUser.fields.map((function(t){return{name:t.name,value:t.value}})),hideFollows:this.$store.state.users.currentUser.hide_follows,hideFollowers:this.$store.state.users.currentUser.hide_followers,hideFollowsCount:this.$store.state.users.currentUser.hide_follows_count,hideFollowersCount:this.$store.state.users.currentUser.hide_followers_count,showRole:this.$store.state.users.currentUser.show_role,role:this.$store.state.users.currentUser.role,discoverable:this.$store.state.users.currentUser.discoverable,bot:this.$store.state.users.currentUser.bot,allowFollowingMove:this.$store.state.users.currentUser.allow_following_move,pickAvatarBtnVisible:!0,bannerUploading:!1,backgroundUploading:!1,banner:null,bannerPreview:null,background:null,backgroundPreview:null}},components:{ScopeSelector:ce.a,ImageCropper:le,EmojiInput:de.a,Autosuggest:O,ProgressButton:E.a,Checkbox:v.a},computed:{user:function(){return this.$store.state.users.currentUser},emojiUserSuggestor:function(){return Object(pe.a)({emoji:[].concat(H()(this.$store.state.instance.emoji),H()(this.$store.state.instance.customEmoji)),store:this.$store})},emojiSuggestor:function(){return Object(pe.a)({emoji:[].concat(H()(this.$store.state.instance.emoji),H()(this.$store.state.instance.customEmoji))})},userSuggestor:function(){return Object(pe.a)({store:this.$store})},fieldsLimits:function(){return this.$store.state.instance.fieldsLimits},maxFields:function(){return this.fieldsLimits?this.fieldsLimits.maxFields:0},defaultAvatar:function(){return this.$store.state.instance.server+this.$store.state.instance.defaultAvatar},defaultBanner:function(){return this.$store.state.instance.server+this.$store.state.instance.defaultBanner},isDefaultAvatar:function(){var t=this.$store.state.instance.defaultAvatar;return!this.$store.state.users.currentUser.profile_image_url||this.$store.state.users.currentUser.profile_image_url.includes(t)},isDefaultBanner:function(){var t=this.$store.state.instance.defaultBanner;return!this.$store.state.users.currentUser.cover_photo||this.$store.state.users.currentUser.cover_photo.includes(t)},isDefaultBackground:function(){return!this.$store.state.users.currentUser.background_image},avatarImgSrc:function(){var t=this.$store.state.users.currentUser.profile_image_url_original;return t||this.defaultAvatar},bannerImgSrc:function(){var t=this.$store.state.users.currentUser.cover_photo;return t||this.defaultBanner}},methods:{updateProfile:function(){var t=this;this.$store.state.api.backendInteractor.updateProfile({params:{note:this.newBio,locked:this.newLocked,display_name:this.newName,fields_attributes:this.newFields.filter((function(t){return null!=t})),default_scope:this.newDefaultScope,no_rich_text:this.newNoRichText,hide_follows:this.hideFollows,hide_followers:this.hideFollowers,discoverable:this.discoverable,bot:this.bot,allow_following_move:this.allowFollowingMove,hide_follows_count:this.hideFollowsCount,hide_followers_count:this.hideFollowersCount,show_role:this.showRole}}).then((function(e){t.newFields.splice(e.fields.length),se()(t.newFields,e.fields),t.$store.commit("addNewUsers",[e]),t.$store.commit("setCurrentUser",e)}))},changeVis:function(t){this.newDefaultScope=t},addField:function(){return this.newFields.lengththis.$store.state.instance[t+"limit"]){var a=ue.a.fileSizeFormat(n.size),o=ue.a.fileSizeFormat(this.$store.state.instance[t+"limit"]);this.$store.dispatch("pushGlobalNotice",{messageKey:"upload.error.message",messageArgs:[this.$t("upload.error.file_too_big",{filesize:a.num,filesizeunit:a.unit,allowedsize:o.num,allowedsizeunit:o.unit})],level:"error"})}else{var i=new FileReader;i.onload=function(e){var a=e.target.result;s[t+"Preview"]=a,s[t]=n},i.readAsDataURL(n)}},resetAvatar:function(){window.confirm(this.$t("settings.reset_avatar_confirm"))&&this.submitAvatar(void 0,"")},resetBanner:function(){window.confirm(this.$t("settings.reset_banner_confirm"))&&this.submitBanner("")},resetBackground:function(){window.confirm(this.$t("settings.reset_background_confirm"))&&this.submitBackground("")},submitAvatar:function(t,e){var s=this;return new Promise((function(n,a){function o(t){s.$store.state.api.backendInteractor.updateProfileImages({avatar:t}).then((function(t){s.$store.commit("addNewUsers",[t]),s.$store.commit("setCurrentUser",t),n()})).catch((function(t){s.displayUploadError(t),a(t)}))}t?t.getCroppedCanvas().toBlob(o,e.type):o(e)}))},submitBanner:function(t){var e=this;(this.bannerPreview||""===t)&&(this.bannerUploading=!0,this.$store.state.api.backendInteractor.updateProfileImages({banner:t}).then((function(t){e.$store.commit("addNewUsers",[t]),e.$store.commit("setCurrentUser",t),e.bannerPreview=null})).catch(this.displayUploadError).finally((function(){e.bannerUploading=!1})))},submitBackground:function(t){var e=this;(this.backgroundPreview||""===t)&&(this.backgroundUploading=!0,this.$store.state.api.backendInteractor.updateProfileImages({background:t}).then((function(t){e.$store.commit("addNewUsers",[t]),e.$store.commit("setCurrentUser",t),e.backgroundPreview=null})).catch(this.displayUploadError).finally((function(){e.backgroundUploading=!1})))},displayUploadError:function(t){this.$store.dispatch("pushGlobalNotice",{messageKey:"upload.error.message",messageArgs:[t.message],level:"error"})}}};var he=function(t){s(660)},ve=Object(c.a)(me,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"profile-tab"},[s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.name_bio")))]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.name")))]),t._v(" "),s("EmojiInput",{attrs:{"enable-emoji-picker":"",suggest:t.emojiSuggestor},model:{value:t.newName,callback:function(e){t.newName=e},expression:"newName"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.newName,expression:"newName"}],staticClass:"name-changer",attrs:{id:"username"},domProps:{value:t.newName},on:{input:function(e){e.target.composing||(t.newName=e.target.value)}}})]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.bio")))]),t._v(" "),s("EmojiInput",{attrs:{"enable-emoji-picker":"",suggest:t.emojiUserSuggestor},model:{value:t.newBio,callback:function(e){t.newBio=e},expression:"newBio"}},[s("textarea",{directives:[{name:"model",rawName:"v-model",value:t.newBio,expression:"newBio"}],staticClass:"bio resize-height",domProps:{value:t.newBio},on:{input:function(e){e.target.composing||(t.newBio=e.target.value)}}})]),t._v(" "),s("p",[s("Checkbox",{model:{value:t.newLocked,callback:function(e){t.newLocked=e},expression:"newLocked"}},[t._v("\n "+t._s(t.$t("settings.lock_account_description"))+"\n ")])],1),t._v(" "),s("div",[s("label",{attrs:{for:"default-vis"}},[t._v(t._s(t.$t("settings.default_vis")))]),t._v(" "),s("div",{staticClass:"visibility-tray",attrs:{id:"default-vis"}},[s("scope-selector",{attrs:{"show-all":!0,"user-default":t.newDefaultScope,"initial-scope":t.newDefaultScope,"on-scope-change":t.changeVis}})],1)]),t._v(" "),s("p",[s("Checkbox",{model:{value:t.newNoRichText,callback:function(e){t.newNoRichText=e},expression:"newNoRichText"}},[t._v("\n "+t._s(t.$t("settings.no_rich_text_description"))+"\n ")])],1),t._v(" "),s("p",[s("Checkbox",{model:{value:t.hideFollows,callback:function(e){t.hideFollows=e},expression:"hideFollows"}},[t._v("\n "+t._s(t.$t("settings.hide_follows_description"))+"\n ")])],1),t._v(" "),s("p",{staticClass:"setting-subitem"},[s("Checkbox",{attrs:{disabled:!t.hideFollows},model:{value:t.hideFollowsCount,callback:function(e){t.hideFollowsCount=e},expression:"hideFollowsCount"}},[t._v("\n "+t._s(t.$t("settings.hide_follows_count_description"))+"\n ")])],1),t._v(" "),s("p",[s("Checkbox",{model:{value:t.hideFollowers,callback:function(e){t.hideFollowers=e},expression:"hideFollowers"}},[t._v("\n "+t._s(t.$t("settings.hide_followers_description"))+"\n ")])],1),t._v(" "),s("p",{staticClass:"setting-subitem"},[s("Checkbox",{attrs:{disabled:!t.hideFollowers},model:{value:t.hideFollowersCount,callback:function(e){t.hideFollowersCount=e},expression:"hideFollowersCount"}},[t._v("\n "+t._s(t.$t("settings.hide_followers_count_description"))+"\n ")])],1),t._v(" "),s("p",[s("Checkbox",{model:{value:t.allowFollowingMove,callback:function(e){t.allowFollowingMove=e},expression:"allowFollowingMove"}},[t._v("\n "+t._s(t.$t("settings.allow_following_move"))+"\n ")])],1),t._v(" "),"admin"===t.role||"moderator"===t.role?s("p",[s("Checkbox",{model:{value:t.showRole,callback:function(e){t.showRole=e},expression:"showRole"}},["admin"===t.role?[t._v("\n "+t._s(t.$t("settings.show_admin_badge"))+"\n ")]:t._e(),t._v(" "),"moderator"===t.role?[t._v("\n "+t._s(t.$t("settings.show_moderator_badge"))+"\n ")]:t._e()],2)],1):t._e(),t._v(" "),s("p",[s("Checkbox",{model:{value:t.discoverable,callback:function(e){t.discoverable=e},expression:"discoverable"}},[t._v("\n "+t._s(t.$t("settings.discoverable"))+"\n ")])],1),t._v(" "),t.maxFields>0?s("div",[s("p",[t._v(t._s(t.$t("settings.profile_fields.label")))]),t._v(" "),t._l(t.newFields,(function(e,n){return s("div",{key:n,staticClass:"profile-fields"},[s("EmojiInput",{attrs:{"enable-emoji-picker":"","hide-emoji-button":"",suggest:t.userSuggestor},model:{value:t.newFields[n].name,callback:function(e){t.$set(t.newFields[n],"name",e)},expression:"newFields[i].name"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.newFields[n].name,expression:"newFields[i].name"}],attrs:{placeholder:t.$t("settings.profile_fields.name")},domProps:{value:t.newFields[n].name},on:{input:function(e){e.target.composing||t.$set(t.newFields[n],"name",e.target.value)}}})]),t._v(" "),s("EmojiInput",{attrs:{"enable-emoji-picker":"","hide-emoji-button":"",suggest:t.userSuggestor},model:{value:t.newFields[n].value,callback:function(e){t.$set(t.newFields[n],"value",e)},expression:"newFields[i].value"}},[s("input",{directives:[{name:"model",rawName:"v-model",value:t.newFields[n].value,expression:"newFields[i].value"}],attrs:{placeholder:t.$t("settings.profile_fields.value")},domProps:{value:t.newFields[n].value},on:{input:function(e){e.target.composing||t.$set(t.newFields[n],"value",e.target.value)}}})]),t._v(" "),s("button",{staticClass:"delete-field button-unstyled -hover-highlight",on:{click:function(e){return t.deleteField(n)}}},[s("FAIcon",{directives:[{name:"show",rawName:"v-show",value:t.newFields.length>1,expression:"newFields.length > 1"}],attrs:{icon:"times"}})],1)],1)})),t._v(" "),t.newFields.length0?s("li",[s("ChoiceSetting",{attrs:{id:"postContentType",path:"postContentType",options:t.postContentOptions}},[t._v("\n "+t._s(t.$t("settings.post_status_content_type"))+"\n ")])],1):t._e(),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"minimalScopesMode"}},[t._v("\n "+t._s(t.$t("settings.minimal_scopes_mode"))+"\n ")])],1),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"sensitiveByDefault"}},[t._v("\n "+t._s(t.$t("settings.sensitive_by_default"))+"\n ")])],1),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"alwaysShowNewPostButton"}},[t._v("\n "+t._s(t.$t("settings.always_show_post_button"))+"\n ")])],1),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"autohideFloatingPostButton"}},[t._v("\n "+t._s(t.$t("settings.autohide_floating_post_button"))+"\n ")])],1),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"padEmoji"}},[t._v("\n "+t._s(t.$t("settings.pad_emoji"))+"\n ")])],1)])]),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.attachments")))]),t._v(" "),s("ul",{staticClass:"setting-list"},[s("li",[s("BooleanSetting",{attrs:{path:"hideAttachments"}},[t._v("\n "+t._s(t.$t("settings.hide_attachments_in_tl"))+"\n ")])],1),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"hideAttachmentsInConv"}},[t._v("\n "+t._s(t.$t("settings.hide_attachments_in_convo"))+"\n ")])],1),t._v(" "),s("li",[s("label",{attrs:{for:"maxThumbnails"}},[t._v("\n "+t._s(t.$t("settings.max_thumbnails"))+"\n ")]),t._v(" "),s("input",{staticClass:"number-input",attrs:{id:"maxThumbnails","path.number":"maxThumbnails",type:"number",min:"0",step:"1"}})]),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"hideNsfw"}},[t._v("\n "+t._s(t.$t("settings.nsfw_clickthrough"))+"\n ")])],1),t._v(" "),s("ul",{staticClass:"setting-list suboptions"},[s("li",[s("BooleanSetting",{attrs:{path:"preloadImage",disabled:!t.hideNsfw}},[t._v("\n "+t._s(t.$t("settings.preload_images"))+"\n ")])],1),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"useOneClickNsfw",disabled:!t.hideNsfw}},[t._v("\n "+t._s(t.$t("settings.use_one_click_nsfw"))+"\n ")])],1)]),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"stopGifs"}},[t._v("\n "+t._s(t.$t("settings.stop_gifs"))+"\n ")])],1),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"loopVideo"}},[t._v("\n "+t._s(t.$t("settings.loop_video"))+"\n ")]),t._v(" "),s("ul",{staticClass:"setting-list suboptions",class:[{disabled:!t.streaming}]},[s("li",[s("BooleanSetting",{attrs:{path:"loopVideoSilentOnly",disabled:!t.loopVideo||!t.loopSilentAvailable}},[t._v("\n "+t._s(t.$t("settings.loop_video_silent_only"))+"\n ")]),t._v(" "),t.loopSilentAvailable?t._e():s("div",{staticClass:"unavailable"},[s("FAIcon",{attrs:{icon:"globe"}}),t._v("! "+t._s(t.$t("settings.limited_availability"))+"\n ")],1)],1)])],1),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"playVideosInModal"}},[t._v("\n "+t._s(t.$t("settings.play_videos_in_modal"))+"\n ")])],1),t._v(" "),s("li",[s("BooleanSetting",{attrs:{path:"useContainFit"}},[t._v("\n "+t._s(t.$t("settings.use_contain_fit"))+"\n ")])],1)])]),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.notifications")))]),t._v(" "),s("ul",{staticClass:"setting-list"},[s("li",[s("BooleanSetting",{attrs:{path:"webPushNotifications"}},[t._v("\n "+t._s(t.$t("settings.enable_web_push_notifications"))+"\n ")])],1)])]),t._v(" "),s("div",{staticClass:"setting-item"},[s("h2",[t._v(t._s(t.$t("settings.fun")))]),t._v(" "),s("ul",{staticClass:"setting-list"},[s("li",[s("BooleanSetting",{attrs:{path:"greentext"}},[t._v("\n "+t._s(t.$t("settings.greentext"))+"\n ")])],1)])])])}),[],!1,null,null,null).exports,ke={data:function(){var t=this.$store.state.instance;return{backendVersion:t.backendVersion,frontendVersion:t.frontendVersion}},computed:{frontendVersionLink:function(){return"https://git.pleroma.social/pleroma/pleroma-fe/commit/"+this.frontendVersion},backendVersionLink:function(){return"https://git.pleroma.social/pleroma/pleroma/commit/"+(t=this.backendVersion,(e=t.match(/-g(\w+)/i))?e[1]:"");var t,e}}},ye=Object(c.a)(ke,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{attrs:{label:t.$t("settings.version.title")}},[s("div",{staticClass:"setting-item"},[s("ul",{staticClass:"setting-list"},[s("li",[s("p",[t._v(t._s(t.$t("settings.version.backend_version")))]),t._v(" "),s("ul",{staticClass:"option-list"},[s("li",[s("a",{attrs:{href:t.backendVersionLink,target:"_blank"}},[t._v(t._s(t.backendVersion))])])])]),t._v(" "),s("li",[s("p",[t._v(t._s(t.$t("settings.version.frontend_version")))]),t._v(" "),s("ul",{staticClass:"option-list"},[s("li",[s("a",{attrs:{href:t.frontendVersionLink,target:"_blank"}},[t._v(t._s(t.frontendVersion))])])])])])])])}),[],!1,null,null,null).exports,$e=s(14),Le=s(37),Te=s(120),Oe=s(32),Pe=s(46),Se={components:{Checkbox:v.a},props:{name:{required:!0,type:String},label:{required:!0,type:String},value:{required:!1,type:String,default:void 0},fallback:{required:!1,type:String,default:void 0},disabled:{required:!1,type:Boolean,default:!1},showOptionalTickbox:{required:!1,type:Boolean,default:!0}},computed:{present:function(){return void 0!==this.value},validColor:function(){return Object($e.f)(this.value||this.fallback)},transparentColor:function(){return"transparent"===this.value},computedColor:function(){return this.value&&this.value.startsWith("--")}}};var Ie=function(t){s(668),s(670)},je=Object(c.a)(Se,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"color-input style-control",class:{disabled:!t.present||t.disabled}},[s("label",{staticClass:"label",attrs:{for:t.name}},[t._v("\n "+t._s(t.label)+"\n ")]),t._v(" "),void 0!==t.fallback&&t.showOptionalTickbox?s("Checkbox",{staticClass:"opt",attrs:{checked:t.present,disabled:t.disabled},on:{change:function(e){return t.$emit("input",void 0===t.value?t.fallback:void 0)}}}):t._e(),t._v(" "),s("div",{staticClass:"input color-input-field"},[s("input",{staticClass:"textColor unstyled",attrs:{id:t.name+"-t",type:"text",disabled:!t.present||t.disabled},domProps:{value:t.value||t.fallback},on:{input:function(e){return t.$emit("input",e.target.value)}}}),t._v(" "),t.validColor?s("input",{staticClass:"nativeColor unstyled",attrs:{id:t.name,type:"color",disabled:!t.present||t.disabled},domProps:{value:t.value||t.fallback},on:{input:function(e){return t.$emit("input",e.target.value)}}}):t._e(),t._v(" "),t.transparentColor?s("div",{staticClass:"transparentIndicator"}):t._e(),t._v(" "),t.computedColor?s("div",{staticClass:"computedIndicator",style:{backgroundColor:t.fallback}}):t._e()])],1)}),[],!1,Ie,null,null).exports,Be=Object(c.a)({props:["name","value","fallback","disabled","label","max","min","step","hardMin","hardMax"],computed:{present:function(){return void 0!==this.value}}},(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"range-control style-control",class:{disabled:!t.present||t.disabled}},[s("label",{staticClass:"label",attrs:{for:t.name}},[t._v("\n "+t._s(t.label)+"\n ")]),t._v(" "),void 0!==t.fallback?s("input",{staticClass:"opt",attrs:{id:t.name+"-o",type:"checkbox"},domProps:{checked:t.present},on:{input:function(e){return t.$emit("input",t.present?void 0:t.fallback)}}}):t._e(),t._v(" "),void 0!==t.fallback?s("label",{staticClass:"opt-l",attrs:{for:t.name+"-o"}}):t._e(),t._v(" "),s("input",{staticClass:"input-number",attrs:{id:t.name,type:"range",disabled:!t.present||t.disabled,max:t.max||t.hardMax||100,min:t.min||t.hardMin||0,step:t.step||1},domProps:{value:t.value||t.fallback},on:{input:function(e){return t.$emit("input",e.target.value)}}}),t._v(" "),s("input",{staticClass:"input-number",attrs:{id:t.name,type:"number",disabled:!t.present||t.disabled,max:t.hardMax,min:t.hardMin,step:t.step||1},domProps:{value:t.value||t.fallback},on:{input:function(e){return t.$emit("input",e.target.value)}}})])}),[],!1,null,null,null).exports,Fe={components:{Checkbox:v.a},props:["name","value","fallback","disabled"],computed:{present:function(){return void 0!==this.value}}},Re=Object(c.a)(Fe,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"opacity-control style-control",class:{disabled:!t.present||t.disabled}},[s("label",{staticClass:"label",attrs:{for:t.name}},[t._v("\n "+t._s(t.$t("settings.style.common.opacity"))+"\n ")]),t._v(" "),void 0!==t.fallback?s("Checkbox",{staticClass:"opt",attrs:{checked:t.present,disabled:t.disabled},on:{change:function(e){return t.$emit("input",t.present?void 0:t.fallback)}}}):t._e(),t._v(" "),s("input",{staticClass:"input-number",attrs:{id:t.name,type:"number",disabled:!t.present||t.disabled,max:"1",min:"0",step:".05"},domProps:{value:t.value||t.fallback},on:{input:function(e){return t.$emit("input",e.target.value)}}})],1)}),[],!1,null,null,null).exports;function Ee(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),s.push.apply(s,n)}return s}function Ae(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};return Ae({x:0,y:0,blur:0,spread:0,inset:!1,color:"#000000",alpha:1},t)},De={props:["value","fallback","ready"],data:function(){return{selectedId:0,cValue:(this.value||this.fallback||[]).map(Me)}},components:{ColorInput:je,OpacityInput:Re,Select:Lt.a},methods:{add:function(){this.cValue.push(Me(this.selected)),this.selectedId=this.cValue.length-1},del:function(){this.cValue.splice(this.selectedId,1),this.selectedId=0===this.cValue.length?void 0:Math.max(this.selectedId-1,0)},moveUp:function(){var t=this.cValue.splice(this.selectedId,1)[0];this.cValue.splice(this.selectedId-1,0,t),this.selectedId-=1},moveDn:function(){var t=this.cValue.splice(this.selectedId,1)[0];this.cValue.splice(this.selectedId+1,0,t),this.selectedId+=1}},beforeUpdate:function(){this.cValue=this.value||this.fallback},computed:{anyShadows:function(){return this.cValue.length>0},anyShadowsFallback:function(){return this.fallback.length>0},selected:function(){return this.ready&&this.anyShadows?this.cValue[this.selectedId]:Me({})},currentFallback:function(){return this.ready&&this.anyShadowsFallback?this.fallback[this.selectedId]:Me({})},moveUpValid:function(){return this.ready&&this.selectedId>0},moveDnValid:function(){return this.ready&&this.selectedId-1:t.selected.inset},on:{change:function(e){var s=t.selected.inset,n=e.target,a=!!n.checked;if(Array.isArray(s)){var o=t._i(s,null);n.checked?o<0&&t.$set(t.selected,"inset",s.concat([null])):o>-1&&t.$set(t.selected,"inset",s.slice(0,o).concat(s.slice(o+1)))}else t.$set(t.selected,"inset",a)}}}),t._v(" "),s("label",{staticClass:"checkbox-label",attrs:{for:"inset"}})]),t._v(" "),s("div",{staticClass:"blur-control style-control",attrs:{disabled:!t.present}},[s("label",{staticClass:"label",attrs:{for:"spread"}},[t._v("\n "+t._s(t.$t("settings.style.shadows.blur"))+"\n ")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.selected.blur,expression:"selected.blur"}],staticClass:"input-range",attrs:{id:"blur",disabled:!t.present,name:"blur",type:"range",max:"20",min:"0"},domProps:{value:t.selected.blur},on:{__r:function(e){return t.$set(t.selected,"blur",e.target.value)}}}),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.selected.blur,expression:"selected.blur"}],staticClass:"input-number",attrs:{disabled:!t.present,type:"number",min:"0"},domProps:{value:t.selected.blur},on:{input:function(e){e.target.composing||t.$set(t.selected,"blur",e.target.value)}}})]),t._v(" "),s("div",{staticClass:"spread-control style-control",attrs:{disabled:!t.present}},[s("label",{staticClass:"label",attrs:{for:"spread"}},[t._v("\n "+t._s(t.$t("settings.style.shadows.spread"))+"\n ")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.selected.spread,expression:"selected.spread"}],staticClass:"input-range",attrs:{id:"spread",disabled:!t.present,name:"spread",type:"range",max:"20",min:"-20"},domProps:{value:t.selected.spread},on:{__r:function(e){return t.$set(t.selected,"spread",e.target.value)}}}),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.selected.spread,expression:"selected.spread"}],staticClass:"input-number",attrs:{disabled:!t.present,type:"number"},domProps:{value:t.selected.spread},on:{input:function(e){e.target.composing||t.$set(t.selected,"spread",e.target.value)}}})]),t._v(" "),s("ColorInput",{attrs:{disabled:!t.present,label:t.$t("settings.style.common.color"),fallback:t.currentFallback.color,"show-optional-tickbox":!1,name:"shadow"},model:{value:t.selected.color,callback:function(e){t.$set(t.selected,"color",e)},expression:"selected.color"}}),t._v(" "),s("OpacityInput",{attrs:{disabled:!t.present},model:{value:t.selected.alpha,callback:function(e){t.$set(t.selected,"alpha",e)},expression:"selected.alpha"}}),t._v(" "),s("i18n",{attrs:{path:"settings.style.shadows.hintV3",tag:"p"}},[s("code",[t._v("--variable,mod")])])],1)])}),[],!1,Ue,null,null).exports,Ve={components:{Select:Lt.a},props:["name","label","value","fallback","options","no-inherit"],data:function(){return{lValue:this.value,availableOptions:[this.noInherit?"":"inherit","custom"].concat(H()(this.options||[]),["serif","monospace","sans-serif"]).filter((function(t){return t}))}},beforeUpdate:function(){this.lValue=this.value},computed:{present:function(){return void 0!==this.lValue},dValue:function(){return this.lValue||this.fallback||{}},family:{get:function(){return this.dValue.family},set:function(t){Object(J.set)(this.lValue,"family",t),this.$emit("input",this.lValue)}},isCustom:function(){return"custom"===this.preset},preset:{get:function(){return"serif"===this.family||"sans-serif"===this.family||"monospace"===this.family||"inherit"===this.family?this.family:"custom"},set:function(t){this.family="custom"===t?"":t}}}};var We=function(t){s(674)},qe=Object(c.a)(Ve,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"font-control style-control",class:{custom:t.isCustom}},[s("label",{staticClass:"label",attrs:{for:"custom"===t.preset?t.name:t.name+"-font-switcher"}},[t._v("\n "+t._s(t.label)+"\n ")]),t._v(" "),void 0!==t.fallback?s("input",{staticClass:"opt exlcude-disabled",attrs:{id:t.name+"-o",type:"checkbox"},domProps:{checked:t.present},on:{input:function(e){return t.$emit("input",void 0===t.value?t.fallback:void 0)}}}):t._e(),t._v(" "),void 0!==t.fallback?s("label",{staticClass:"opt-l",attrs:{for:t.name+"-o"}}):t._e(),t._v(" "),s("Select",{staticClass:"font-switcher",attrs:{id:t.name+"-font-switcher",disabled:!t.present},model:{value:t.preset,callback:function(e){t.preset=e},expression:"preset"}},t._l(t.availableOptions,(function(e){return s("option",{key:e,domProps:{value:e}},[t._v("\n "+t._s("custom"===e?t.$t("settings.style.fonts.custom"):e)+"\n ")])})),0),t._v(" "),t.isCustom?s("input",{directives:[{name:"model",rawName:"v-model",value:t.family,expression:"family"}],staticClass:"custom-font",attrs:{id:t.name,type:"text"},domProps:{value:t.family},on:{input:function(e){e.target.composing||(t.family=e.target.value)}}}):t._e()],1)}),[],!1,We,null,null).exports;i.c.add(r.a,r.v,r.ib);var ze={props:{large:{required:!1,type:Boolean,default:!1},contrast:{required:!1,type:Object,default:function(){return{}}}},computed:{hint:function(){var t=this.contrast.aaa?"aaa":this.contrast.aa?"aa":"bad",e=this.$t("settings.style.common.contrast.level.".concat(t)),s=this.$t("settings.style.common.contrast.context.text"),n=this.contrast.text;return this.$t("settings.style.common.contrast.hint",{level:e,context:s,ratio:n})},hint_18pt:function(){var t=this.contrast.laaa?"aaa":this.contrast.laa?"aa":"bad",e=this.$t("settings.style.common.contrast.level.".concat(t)),s=this.$t("settings.style.common.contrast.context.18pt"),n=this.contrast.text;return this.$t("settings.style.common.contrast.hint",{level:e,context:s,ratio:n})}}};var Ge=function(t){s(676)},Ke=Object(c.a)(ze,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return t.contrast?s("span",{staticClass:"contrast-ratio"},[s("span",{staticClass:"rating",attrs:{title:t.hint}},[t.contrast.aaa?s("span",[s("FAIcon",{attrs:{icon:"thumbs-up"}})],1):t._e(),t._v(" "),!t.contrast.aaa&&t.contrast.aa?s("span",[s("FAIcon",{attrs:{icon:"adjust"}})],1):t._e(),t._v(" "),t.contrast.aaa||t.contrast.aa?t._e():s("span",[s("FAIcon",{attrs:{icon:"exclamation-triangle"}})],1)]),t._v(" "),t.contrast&&t.large?s("span",{staticClass:"rating",attrs:{title:t.hint_18pt}},[t.contrast.laaa?s("span",[s("FAIcon",{attrs:{icon:"thumbs-up"}})],1):t._e(),t._v(" "),!t.contrast.laaa&&t.contrast.laa?s("span",[s("FAIcon",{attrs:{icon:"adjust"}})],1):t._e(),t._v(" "),t.contrast.laaa||t.contrast.laa?t._e():s("span",[s("FAIcon",{attrs:{icon:"exclamation-triangle"}})],1)]):t._e()]):t._e()}),[],!1,Ge,null,null).exports;i.c.add(r.kb,r.cb,r.U,r.T);var He=function(t){s(678)},Je=Object(c.a)({},(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"preview-container"},[s("div",{staticClass:"underlay underlay-preview"}),t._v(" "),s("div",{staticClass:"panel dummy"},[s("div",{staticClass:"panel-heading"},[s("div",{staticClass:"title"},[t._v("\n "+t._s(t.$t("settings.style.preview.header"))+"\n "),s("span",{staticClass:"badge badge-notification"},[t._v("\n 99\n ")])]),t._v(" "),s("span",{staticClass:"faint"},[t._v("\n "+t._s(t.$t("settings.style.preview.header_faint"))+"\n ")]),t._v(" "),s("span",{staticClass:"alert error"},[t._v("\n "+t._s(t.$t("settings.style.preview.error"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn button-default"},[t._v("\n "+t._s(t.$t("settings.style.preview.button"))+"\n ")])]),t._v(" "),s("div",{staticClass:"panel-body theme-preview-content"},[s("div",{staticClass:"post"},[s("div",{staticClass:"avatar still-image"},[t._v("\n ( ͡° ͜ʖ ͡°)\n ")]),t._v(" "),s("div",{staticClass:"content"},[s("h4",[t._v("\n "+t._s(t.$t("settings.style.preview.content"))+"\n ")]),t._v(" "),s("i18n",{attrs:{path:"settings.style.preview.text"}},[s("code",{staticStyle:{"font-family":"var(--postCodeFont)"}},[t._v("\n "+t._s(t.$t("settings.style.preview.mono"))+"\n ")]),t._v(" "),s("a",{staticStyle:{color:"var(--link)"}},[t._v("\n "+t._s(t.$t("settings.style.preview.link"))+"\n ")])]),t._v(" "),s("div",{staticClass:"icons"},[s("FAIcon",{staticClass:"fa-scale-110 fa-old-padding",staticStyle:{color:"var(--cBlue)"},attrs:{"fixed-width":"",icon:"reply"}}),t._v(" "),s("FAIcon",{staticClass:"fa-scale-110 fa-old-padding",staticStyle:{color:"var(--cGreen)"},attrs:{"fixed-width":"",icon:"retweet"}}),t._v(" "),s("FAIcon",{staticClass:"fa-scale-110 fa-old-padding",staticStyle:{color:"var(--cOrange)"},attrs:{"fixed-width":"",icon:"star"}}),t._v(" "),s("FAIcon",{staticClass:"fa-scale-110 fa-old-padding",staticStyle:{color:"var(--cRed)"},attrs:{"fixed-width":"",icon:"times"}})],1)],1)]),t._v(" "),s("div",{staticClass:"after-post"},[s("div",{staticClass:"avatar-alt"},[t._v("\n :^)\n ")]),t._v(" "),s("div",{staticClass:"content"},[s("i18n",{staticClass:"faint",attrs:{path:"settings.style.preview.fine_print",tag:"span"}},[s("a",{staticStyle:{color:"var(--faintLink)"}},[t._v("\n "+t._s(t.$t("settings.style.preview.faint_link"))+"\n ")])])],1)]),t._v(" "),s("div",{staticClass:"separator"}),t._v(" "),s("span",{staticClass:"alert error"},[t._v("\n "+t._s(t.$t("settings.style.preview.error"))+"\n ")]),t._v(" "),s("input",{attrs:{type:"text"},domProps:{value:t.$t("settings.style.preview.input")}}),t._v(" "),s("div",{staticClass:"actions"},[s("span",{staticClass:"checkbox"},[s("input",{attrs:{id:"preview_checkbox",checked:"very yes",type:"checkbox"}}),t._v(" "),s("label",{attrs:{for:"preview_checkbox"}},[t._v(t._s(t.$t("settings.style.preview.checkbox")))])]),t._v(" "),s("button",{staticClass:"btn button-default"},[t._v("\n "+t._s(t.$t("settings.style.preview.button"))+"\n ")])])])])])}),[],!1,He,null,null).exports;function Qe(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),s.push.apply(s,n)}return s}function Xe(t){for(var e=1;ePe.a)return t(e+"future_version_imported")+" "+t(i?e+"snapshot_missing":e+"snapshot_present");if(aPe.a)return t(e+"fe_downgraded")+" "+t(i?e+"migration_snapshot_ok":e+"migration_snapshot_gone");if(a=4.5,aaa:s>=7,laa:s>=3,laaa:s>=4.5},t}),{})}catch(t){console.warn("Failure computing contrasts",t)}},previewRules:function(){return this.preview.rules?[].concat(H()(Object.values(this.preview.rules)),["color: var(--text)","font-family: var(--interfaceFont, sans-serif)"]).join(";"):""},shadowsAvailable:function(){return Object.keys(Le.a).sort()},currentShadowOverriden:{get:function(){return!!this.currentShadow},set:function(t){t?Object(J.set)(this.shadowsLocal,this.shadowSelected,this.currentShadowFallback.map((function(t){return Object.assign({},t)}))):Object(J.delete)(this.shadowsLocal,this.shadowSelected)}},currentShadowFallback:function(){return(this.previewTheme.shadows||{})[this.shadowSelected]},currentShadow:{get:function(){return this.shadowsLocal[this.shadowSelected]},set:function(t){Object(J.set)(this.shadowsLocal,this.shadowSelected,t)}},themeValid:function(){return!this.shadowsInvalid&&!this.colorsInvalid&&!this.radiiInvalid},exportedTheme:function(){var t=!(this.keepFonts||this.keepShadows||this.keepOpacity||this.keepRoundness||this.keepColor),e={themeEngineVersion:Pe.a};return(this.keepFonts||t)&&(e.fonts=this.fontsLocal),(this.keepShadows||t)&&(e.shadows=this.shadowsLocal),(this.keepOpacity||t)&&(e.opacity=this.currentOpacity),(this.keepColor||t)&&(e.colors=this.currentColors),(this.keepRoundness||t)&&(e.radii=this.currentRadii),{_pleroma_theme_version:2,theme:Xe({themeEngineVersion:Pe.a},this.previewTheme),source:e}}},components:{ColorInput:je,OpacityInput:Re,RangeInput:Be,ContrastRatio:Ke,ShadowControl:Ne,FontControl:qe,TabSwitcher:n.a,Preview:Je,Checkbox:v.a,Select:Lt.a},methods:{loadTheme:function(t,e){var s=t.theme,n=t.source,a=t._pleroma_theme_version,o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this.dismissWarning(),!n&&!s)throw new Error("Can't load theme: empty");var i="localStorage"!==e||s.colors?a:"l1",r=(s||{}).themeEngineVersion,l=(n||{}).themeEngineVersion||2,c=l===Pe.a,u=void 0!==s&&void 0!==n&&l!==r,d=n&&o||!s;c&&!u||d||"l1"===i||"defaults"===e||(u&&"localStorage"===e?this.themeWarning={origin:e,themeEngineVersion:l,type:"snapshot_source_mismatch"}:s?c||(this.themeWarning={origin:e,noActionsPossible:!n,themeEngineVersion:l,type:"wrong_version"}):this.themeWarning={origin:e,noActionsPossible:!0,themeEngineVersion:l,type:"no_snapshot_old_version"}),this.normalizeLocalState(s,i,n,d)},forceLoadLocalStorage:function(){this.loadThemeFromLocalStorage(!0)},dismissWarning:function(){this.themeWarning=void 0,this.tempImportFile=void 0},forceLoad:function(){switch(this.themeWarning.origin){case"localStorage":this.loadThemeFromLocalStorage(!0);break;case"file":this.onImport(this.tempImportFile,!0)}this.dismissWarning()},forceSnapshot:function(){switch(this.themeWarning.origin){case"localStorage":this.loadThemeFromLocalStorage(!1,!0);break;case"file":console.error("Forcing snapshot from file is not supported yet")}this.dismissWarning()},loadThemeFromLocalStorage:function(){var t=arguments.length>0&&void 0!==arguments[0]&&arguments[0],e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],s=this.$store.getters.mergedConfig,n=s.customTheme,a=s.customThemeSource;n||a?this.loadTheme({theme:n,source:e?n:a},"localStorage",t):this.loadTheme(this.$store.state.instance.themeData,"defaults",t)},setCustomTheme:function(){this.$store.dispatch("setOption",{name:"customTheme",value:Xe({themeEngineVersion:Pe.a},this.previewTheme)}),this.$store.dispatch("setOption",{name:"customThemeSource",value:{themeEngineVersion:Pe.a,shadows:this.shadowsLocal,fonts:this.fontsLocal,opacity:this.currentOpacity,colors:this.currentColors,radii:this.currentRadii}})},updatePreviewColorsAndShadows:function(){this.previewColors=Object(Le.e)({opacity:this.currentOpacity,colors:this.currentColors}),this.previewShadows=Object(Le.h)({shadows:this.shadowsLocal,opacity:this.previewTheme.opacity,themeEngineVersion:this.engineVersion},this.previewColors.theme.colors,this.previewColors.mod)},importTheme:function(){this.themeImporter.importData()},exportTheme:function(){this.themeExporter.exportData()},onImport:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.tempImportFile=t,this.loadTheme(t,"file",e)},onImportFailure:function(t){this.$store.dispatch("pushGlobalNotice",{messageKey:"settings.invalid_theme_imported",level:"error"})},importValidator:function(t){var e=t._pleroma_theme_version;return e>=1||e<=2},clearAll:function(){this.loadThemeFromLocalStorage()},clearV1:function(){var t=this;Object.keys(this.$data).filter((function(t){return t.endsWith("ColorLocal")||t.endsWith("OpacityLocal")})).filter((function(t){return!Ye.includes(t)})).forEach((function(e){Object(J.set)(t.$data,e,void 0)}))},clearRoundness:function(){var t=this;Object.keys(this.$data).filter((function(t){return t.endsWith("RadiusLocal")})).forEach((function(e){Object(J.set)(t.$data,e,void 0)}))},clearOpacity:function(){var t=this;Object.keys(this.$data).filter((function(t){return t.endsWith("OpacityLocal")})).forEach((function(e){Object(J.set)(t.$data,e,void 0)}))},clearShadows:function(){this.shadowsLocal={}},clearFonts:function(){this.fontsLocal={}},normalizeLocalState:function(t){var e,s=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,a=arguments.length>2?arguments[2]:void 0,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];void 0!==a&&(o||a.themeEngineVersion===Pe.a)?(e=a,n=a.themeEngineVersion):e=t;var i=e.radii||e,r=e.opacity,l=e.shadows||{},c=e.fonts||{},u=e.themeEngineVersion?e.colors||e:Object(Le.c)(e.colors||e);if(0===n&&(e.version&&(n=e.version),void 0===u.text&&void 0!==u.fg&&(n=1),void 0!==u.text&&void 0!==u.fg&&(n=2)),this.engineVersion=n,1===n&&(this.fgColorLocal=Object($e.i)(u.btn),this.textColorLocal=Object($e.i)(u.fg)),!this.keepColor){this.clearV1();var d=new Set(1!==n?Object.keys(Oe.c):[]);1!==n&&"l1"!==n||d.add("bg").add("link").add("cRed").add("cBlue").add("cGreen").add("cOrange"),d.forEach((function(t){var e=u[t],n=Object($e.i)(u[t]);s[t+"ColorLocal"]="#aN"===n?e:n}))}r&&!this.keepOpacity&&(this.clearOpacity(),Object.entries(r).forEach((function(t){var e=G()(t,2),n=e[0],a=e[1];null==a||Number.isNaN(a)||(s[n+"OpacityLocal"]=a)}))),this.keepRoundness||(this.clearRoundness(),Object.entries(i).forEach((function(t){var e=G()(t,2),n=e[0],a=e[1],o=n.endsWith("Radius")?n.split("Radius")[0]:n;s[o+"RadiusLocal"]=a}))),this.keepShadows||(this.clearShadows(),this.shadowsLocal=2===n?Object(Le.m)(l,this.previewTheme.opacity):l,this.shadowSelected=this.shadowsAvailable[0]),this.keepFonts||(this.clearFonts(),this.fontsLocal=c)}},watch:{currentRadii:function(){try{this.previewRadii=Object(Le.g)({radii:this.currentRadii}),this.radiiInvalid=!1}catch(t){this.radiiInvalid=!0,console.warn(t)}},shadowsLocal:{handler:function(){if(1!==Object.getOwnPropertyNames(this.previewColors).length)try{this.updatePreviewColorsAndShadows(),this.shadowsInvalid=!1}catch(t){this.shadowsInvalid=!0,console.warn(t)}},deep:!0},fontsLocal:{handler:function(){try{this.previewFonts=Object(Le.f)({fonts:this.fontsLocal}),this.fontsInvalid=!1}catch(t){this.fontsInvalid=!0,console.warn(t)}},deep:!0},currentColors:function(){try{this.updatePreviewColorsAndShadows(),this.colorsInvalid=!1,this.shadowsInvalid=!1}catch(t){this.colorsInvalid=!0,this.shadowsInvalid=!0,console.warn(t)}},currentOpacity:function(){try{this.updatePreviewColorsAndShadows()}catch(t){console.warn(t)}},selected:function(){var t=this;this.selectedTheme=Object.entries(this.availableStyles).find((function(e){var s=G()(e,2),n=(s[0],s[1]);return Array.isArray(n)?(console.log(n[0]===t.selected,t.selected),n[0]===t.selected):n.name===t.selected}))[1]},selectedTheme:function(){this.dismissWarning(),1===this.selectedVersion?(this.keepRoundness||this.clearRoundness(),this.keepShadows||this.clearShadows(),this.keepOpacity||this.clearOpacity(),this.keepColor||(this.clearV1(),this.bgColorLocal=this.selectedTheme[1],this.fgColorLocal=this.selectedTheme[2],this.textColorLocal=this.selectedTheme[3],this.linkColorLocal=this.selectedTheme[4],this.cRedColorLocal=this.selectedTheme[5],this.cGreenColorLocal=this.selectedTheme[6],this.cBlueColorLocal=this.selectedTheme[7],this.cOrangeColorLocal=this.selectedTheme[8])):this.selectedVersion>=2&&this.normalizeLocalState(this.selectedTheme.theme,2,this.selectedTheme.source)}}};var ts=function(t){s(666)},es=Object(c.a)(Ze,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"theme-tab"},[s("div",{staticClass:"presets-container"},[s("div",{staticClass:"save-load"},[t.themeWarning?s("div",{staticClass:"theme-warning"},[s("div",{staticClass:"alert warning"},[t._v("\n "+t._s(t.themeWarningHelp)+"\n ")]),t._v(" "),s("div",{staticClass:"buttons"},["snapshot_source_mismatch"===t.themeWarning.type?[s("button",{staticClass:"btn button-default",on:{click:t.forceLoad}},[t._v("\n "+t._s(t.$t("settings.style.switcher.use_source"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.forceSnapshot}},[t._v("\n "+t._s(t.$t("settings.style.switcher.use_snapshot"))+"\n ")])]:t.themeWarning.noActionsPossible?[s("button",{staticClass:"btn button-default",on:{click:t.dismissWarning}},[t._v("\n "+t._s(t.$t("general.dismiss"))+"\n ")])]:[s("button",{staticClass:"btn button-default",on:{click:t.forceLoad}},[t._v("\n "+t._s(t.$t("settings.style.switcher.load_theme"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.dismissWarning}},[t._v("\n "+t._s(t.$t("settings.style.switcher.keep_as_is"))+"\n ")])]],2)]):t._e(),t._v(" "),s("div",{staticClass:"top"},[s("div",{staticClass:"presets"},[t._v("\n "+t._s(t.$t("settings.presets"))+"\n "),s("label",{staticClass:"select",attrs:{for:"preset-switcher"}},[s("Select",{staticClass:"preset-switcher",attrs:{id:"preset-switcher"},model:{value:t.selected,callback:function(e){t.selected=e},expression:"selected"}},t._l(t.availableStyles,(function(e){return s("option",{key:e.name,style:{backgroundColor:e[1]||(e.theme||e.source).colors.bg,color:e[3]||(e.theme||e.source).colors.text},domProps:{value:e.name||e[0]}},[t._v("\n "+t._s(e[0]||e.name)+"\n ")])})),0)],1)]),t._v(" "),s("div",{staticClass:"export-import"},[s("button",{staticClass:"btn button-default",on:{click:t.importTheme}},[t._v("\n "+t._s(t.$t("settings.import_theme"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.exportTheme}},[t._v("\n "+t._s(t.$t("settings.export_theme"))+"\n ")])])])]),t._v(" "),s("div",{staticClass:"save-load-options"},[s("span",{staticClass:"keep-option"},[s("Checkbox",{model:{value:t.keepColor,callback:function(e){t.keepColor=e},expression:"keepColor"}},[t._v("\n "+t._s(t.$t("settings.style.switcher.keep_color"))+"\n ")])],1),t._v(" "),s("span",{staticClass:"keep-option"},[s("Checkbox",{model:{value:t.keepShadows,callback:function(e){t.keepShadows=e},expression:"keepShadows"}},[t._v("\n "+t._s(t.$t("settings.style.switcher.keep_shadows"))+"\n ")])],1),t._v(" "),s("span",{staticClass:"keep-option"},[s("Checkbox",{model:{value:t.keepOpacity,callback:function(e){t.keepOpacity=e},expression:"keepOpacity"}},[t._v("\n "+t._s(t.$t("settings.style.switcher.keep_opacity"))+"\n ")])],1),t._v(" "),s("span",{staticClass:"keep-option"},[s("Checkbox",{model:{value:t.keepRoundness,callback:function(e){t.keepRoundness=e},expression:"keepRoundness"}},[t._v("\n "+t._s(t.$t("settings.style.switcher.keep_roundness"))+"\n ")])],1),t._v(" "),s("span",{staticClass:"keep-option"},[s("Checkbox",{model:{value:t.keepFonts,callback:function(e){t.keepFonts=e},expression:"keepFonts"}},[t._v("\n "+t._s(t.$t("settings.style.switcher.keep_fonts"))+"\n ")])],1),t._v(" "),s("p",[t._v(t._s(t.$t("settings.style.switcher.save_load_hint")))])])]),t._v(" "),s("preview",{style:t.previewRules}),t._v(" "),s("keep-alive",[s("tab-switcher",{key:"style-tweak"},[s("div",{staticClass:"color-container",attrs:{label:t.$t("settings.style.common_colors._tab_label")}},[s("div",{staticClass:"tab-header"},[s("p",[t._v(t._s(t.$t("settings.theme_help")))]),t._v(" "),s("div",{staticClass:"tab-header-buttons"},[s("button",{staticClass:"btn button-default",on:{click:t.clearOpacity}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_opacity"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.clearV1}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_all"))+"\n ")])])]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.theme_help_v2_1")))]),t._v(" "),s("h4",[t._v(t._s(t.$t("settings.style.common_colors.main")))]),t._v(" "),s("div",{staticClass:"color-item"},[s("ColorInput",{attrs:{name:"bgColor",label:t.$t("settings.background")},model:{value:t.bgColorLocal,callback:function(e){t.bgColorLocal=e},expression:"bgColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"bgOpacity",fallback:t.previewTheme.opacity.bg},model:{value:t.bgOpacityLocal,callback:function(e){t.bgOpacityLocal=e},expression:"bgOpacityLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"textColor",label:t.$t("settings.text")},model:{value:t.textColorLocal,callback:function(e){t.textColorLocal=e},expression:"textColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.bgText}}),t._v(" "),s("ColorInput",{attrs:{name:"accentColor",fallback:t.previewTheme.colors.link,label:t.$t("settings.accent"),"show-optional-tickbox":void 0!==t.linkColorLocal},model:{value:t.accentColorLocal,callback:function(e){t.accentColorLocal=e},expression:"accentColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"linkColor",fallback:t.previewTheme.colors.accent,label:t.$t("settings.links"),"show-optional-tickbox":void 0!==t.accentColorLocal},model:{value:t.linkColorLocal,callback:function(e){t.linkColorLocal=e},expression:"linkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.bgLink}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("ColorInput",{attrs:{name:"fgColor",label:t.$t("settings.foreground")},model:{value:t.fgColorLocal,callback:function(e){t.fgColorLocal=e},expression:"fgColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"fgTextColor",label:t.$t("settings.text"),fallback:t.previewTheme.colors.fgText},model:{value:t.fgTextColorLocal,callback:function(e){t.fgTextColorLocal=e},expression:"fgTextColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"fgLinkColor",label:t.$t("settings.links"),fallback:t.previewTheme.colors.fgLink},model:{value:t.fgLinkColorLocal,callback:function(e){t.fgLinkColorLocal=e},expression:"fgLinkColorLocal"}}),t._v(" "),s("p",[t._v(t._s(t.$t("settings.style.common_colors.foreground_hint")))])],1),t._v(" "),s("h4",[t._v(t._s(t.$t("settings.style.common_colors.rgbo")))]),t._v(" "),s("div",{staticClass:"color-item"},[s("ColorInput",{attrs:{name:"cRedColor",label:t.$t("settings.cRed")},model:{value:t.cRedColorLocal,callback:function(e){t.cRedColorLocal=e},expression:"cRedColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.bgCRed}}),t._v(" "),s("ColorInput",{attrs:{name:"cBlueColor",label:t.$t("settings.cBlue")},model:{value:t.cBlueColorLocal,callback:function(e){t.cBlueColorLocal=e},expression:"cBlueColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.bgCBlue}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("ColorInput",{attrs:{name:"cGreenColor",label:t.$t("settings.cGreen")},model:{value:t.cGreenColorLocal,callback:function(e){t.cGreenColorLocal=e},expression:"cGreenColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.bgCGreen}}),t._v(" "),s("ColorInput",{attrs:{name:"cOrangeColor",label:t.$t("settings.cOrange")},model:{value:t.cOrangeColorLocal,callback:function(e){t.cOrangeColorLocal=e},expression:"cOrangeColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.bgCOrange}})],1),t._v(" "),s("p",[t._v(t._s(t.$t("settings.theme_help_v2_2")))])]),t._v(" "),s("div",{staticClass:"color-container",attrs:{label:t.$t("settings.style.advanced_colors._tab_label")}},[s("div",{staticClass:"tab-header"},[s("p",[t._v(t._s(t.$t("settings.theme_help")))]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.clearOpacity}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_opacity"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.clearV1}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_all"))+"\n ")])]),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.post")))]),t._v(" "),s("ColorInput",{attrs:{name:"postLinkColor",fallback:t.previewTheme.colors.accent,label:t.$t("settings.links")},model:{value:t.postLinkColorLocal,callback:function(e){t.postLinkColorLocal=e},expression:"postLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.postLink}}),t._v(" "),s("ColorInput",{attrs:{name:"postGreentextColor",fallback:t.previewTheme.colors.cGreen,label:t.$t("settings.greentext")},model:{value:t.postGreentextColorLocal,callback:function(e){t.postGreentextColorLocal=e},expression:"postGreentextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.postGreentext}}),t._v(" "),s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.alert")))]),t._v(" "),s("ColorInput",{attrs:{name:"alertError",label:t.$t("settings.style.advanced_colors.alert_error"),fallback:t.previewTheme.colors.alertError},model:{value:t.alertErrorColorLocal,callback:function(e){t.alertErrorColorLocal=e},expression:"alertErrorColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"alertErrorText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.alertErrorText},model:{value:t.alertErrorTextColorLocal,callback:function(e){t.alertErrorTextColorLocal=e},expression:"alertErrorTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.alertErrorText,large:""}}),t._v(" "),s("ColorInput",{attrs:{name:"alertWarning",label:t.$t("settings.style.advanced_colors.alert_warning"),fallback:t.previewTheme.colors.alertWarning},model:{value:t.alertWarningColorLocal,callback:function(e){t.alertWarningColorLocal=e},expression:"alertWarningColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"alertWarningText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.alertWarningText},model:{value:t.alertWarningTextColorLocal,callback:function(e){t.alertWarningTextColorLocal=e},expression:"alertWarningTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.alertWarningText,large:""}}),t._v(" "),s("ColorInput",{attrs:{name:"alertNeutral",label:t.$t("settings.style.advanced_colors.alert_neutral"),fallback:t.previewTheme.colors.alertNeutral},model:{value:t.alertNeutralColorLocal,callback:function(e){t.alertNeutralColorLocal=e},expression:"alertNeutralColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"alertNeutralText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.alertNeutralText},model:{value:t.alertNeutralTextColorLocal,callback:function(e){t.alertNeutralTextColorLocal=e},expression:"alertNeutralTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.alertNeutralText,large:""}}),t._v(" "),s("OpacityInput",{attrs:{name:"alertOpacity",fallback:t.previewTheme.opacity.alert},model:{value:t.alertOpacityLocal,callback:function(e){t.alertOpacityLocal=e},expression:"alertOpacityLocal"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.badge")))]),t._v(" "),s("ColorInput",{attrs:{name:"badgeNotification",label:t.$t("settings.style.advanced_colors.badge_notification"),fallback:t.previewTheme.colors.badgeNotification},model:{value:t.badgeNotificationColorLocal,callback:function(e){t.badgeNotificationColorLocal=e},expression:"badgeNotificationColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"badgeNotificationText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.badgeNotificationText},model:{value:t.badgeNotificationTextColorLocal,callback:function(e){t.badgeNotificationTextColorLocal=e},expression:"badgeNotificationTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.badgeNotificationText,large:""}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.panel_header")))]),t._v(" "),s("ColorInput",{attrs:{name:"panelColor",fallback:t.previewTheme.colors.panel,label:t.$t("settings.background")},model:{value:t.panelColorLocal,callback:function(e){t.panelColorLocal=e},expression:"panelColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"panelOpacity",fallback:t.previewTheme.opacity.panel,disabled:"transparent"===t.panelColorLocal},model:{value:t.panelOpacityLocal,callback:function(e){t.panelOpacityLocal=e},expression:"panelOpacityLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"panelTextColor",fallback:t.previewTheme.colors.panelText,label:t.$t("settings.text")},model:{value:t.panelTextColorLocal,callback:function(e){t.panelTextColorLocal=e},expression:"panelTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.panelText,large:""}}),t._v(" "),s("ColorInput",{attrs:{name:"panelLinkColor",fallback:t.previewTheme.colors.panelLink,label:t.$t("settings.links")},model:{value:t.panelLinkColorLocal,callback:function(e){t.panelLinkColorLocal=e},expression:"panelLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.panelLink,large:""}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.top_bar")))]),t._v(" "),s("ColorInput",{attrs:{name:"topBarColor",fallback:t.previewTheme.colors.topBar,label:t.$t("settings.background")},model:{value:t.topBarColorLocal,callback:function(e){t.topBarColorLocal=e},expression:"topBarColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"topBarTextColor",fallback:t.previewTheme.colors.topBarText,label:t.$t("settings.text")},model:{value:t.topBarTextColorLocal,callback:function(e){t.topBarTextColorLocal=e},expression:"topBarTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.topBarText}}),t._v(" "),s("ColorInput",{attrs:{name:"topBarLinkColor",fallback:t.previewTheme.colors.topBarLink,label:t.$t("settings.links")},model:{value:t.topBarLinkColorLocal,callback:function(e){t.topBarLinkColorLocal=e},expression:"topBarLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.topBarLink}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.inputs")))]),t._v(" "),s("ColorInput",{attrs:{name:"inputColor",fallback:t.previewTheme.colors.input,label:t.$t("settings.background")},model:{value:t.inputColorLocal,callback:function(e){t.inputColorLocal=e},expression:"inputColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"inputOpacity",fallback:t.previewTheme.opacity.input,disabled:"transparent"===t.inputColorLocal},model:{value:t.inputOpacityLocal,callback:function(e){t.inputOpacityLocal=e},expression:"inputOpacityLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"inputTextColor",fallback:t.previewTheme.colors.inputText,label:t.$t("settings.text")},model:{value:t.inputTextColorLocal,callback:function(e){t.inputTextColorLocal=e},expression:"inputTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.inputText}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.buttons")))]),t._v(" "),s("ColorInput",{attrs:{name:"btnColor",fallback:t.previewTheme.colors.btn,label:t.$t("settings.background")},model:{value:t.btnColorLocal,callback:function(e){t.btnColorLocal=e},expression:"btnColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"btnOpacity",fallback:t.previewTheme.opacity.btn,disabled:"transparent"===t.btnColorLocal},model:{value:t.btnOpacityLocal,callback:function(e){t.btnOpacityLocal=e},expression:"btnOpacityLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"btnTextColor",fallback:t.previewTheme.colors.btnText,label:t.$t("settings.text")},model:{value:t.btnTextColorLocal,callback:function(e){t.btnTextColorLocal=e},expression:"btnTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnText}}),t._v(" "),s("ColorInput",{attrs:{name:"btnPanelTextColor",fallback:t.previewTheme.colors.btnPanelText,label:t.$t("settings.style.advanced_colors.panel_header")},model:{value:t.btnPanelTextColorLocal,callback:function(e){t.btnPanelTextColorLocal=e},expression:"btnPanelTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnPanelText}}),t._v(" "),s("ColorInput",{attrs:{name:"btnTopBarTextColor",fallback:t.previewTheme.colors.btnTopBarText,label:t.$t("settings.style.advanced_colors.top_bar")},model:{value:t.btnTopBarTextColorLocal,callback:function(e){t.btnTopBarTextColorLocal=e},expression:"btnTopBarTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnTopBarText}}),t._v(" "),s("h5",[t._v(t._s(t.$t("settings.style.advanced_colors.pressed")))]),t._v(" "),s("ColorInput",{attrs:{name:"btnPressedColor",fallback:t.previewTheme.colors.btnPressed,label:t.$t("settings.background")},model:{value:t.btnPressedColorLocal,callback:function(e){t.btnPressedColorLocal=e},expression:"btnPressedColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"btnPressedTextColor",fallback:t.previewTheme.colors.btnPressedText,label:t.$t("settings.text")},model:{value:t.btnPressedTextColorLocal,callback:function(e){t.btnPressedTextColorLocal=e},expression:"btnPressedTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnPressedText}}),t._v(" "),s("ColorInput",{attrs:{name:"btnPressedPanelTextColor",fallback:t.previewTheme.colors.btnPressedPanelText,label:t.$t("settings.style.advanced_colors.panel_header")},model:{value:t.btnPressedPanelTextColorLocal,callback:function(e){t.btnPressedPanelTextColorLocal=e},expression:"btnPressedPanelTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnPressedPanelText}}),t._v(" "),s("ColorInput",{attrs:{name:"btnPressedTopBarTextColor",fallback:t.previewTheme.colors.btnPressedTopBarText,label:t.$t("settings.style.advanced_colors.top_bar")},model:{value:t.btnPressedTopBarTextColorLocal,callback:function(e){t.btnPressedTopBarTextColorLocal=e},expression:"btnPressedTopBarTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnPressedTopBarText}}),t._v(" "),s("h5",[t._v(t._s(t.$t("settings.style.advanced_colors.disabled")))]),t._v(" "),s("ColorInput",{attrs:{name:"btnDisabledColor",fallback:t.previewTheme.colors.btnDisabled,label:t.$t("settings.background")},model:{value:t.btnDisabledColorLocal,callback:function(e){t.btnDisabledColorLocal=e},expression:"btnDisabledColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"btnDisabledTextColor",fallback:t.previewTheme.colors.btnDisabledText,label:t.$t("settings.text")},model:{value:t.btnDisabledTextColorLocal,callback:function(e){t.btnDisabledTextColorLocal=e},expression:"btnDisabledTextColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"btnDisabledPanelTextColor",fallback:t.previewTheme.colors.btnDisabledPanelText,label:t.$t("settings.style.advanced_colors.panel_header")},model:{value:t.btnDisabledPanelTextColorLocal,callback:function(e){t.btnDisabledPanelTextColorLocal=e},expression:"btnDisabledPanelTextColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"btnDisabledTopBarTextColor",fallback:t.previewTheme.colors.btnDisabledTopBarText,label:t.$t("settings.style.advanced_colors.top_bar")},model:{value:t.btnDisabledTopBarTextColorLocal,callback:function(e){t.btnDisabledTopBarTextColorLocal=e},expression:"btnDisabledTopBarTextColorLocal"}}),t._v(" "),s("h5",[t._v(t._s(t.$t("settings.style.advanced_colors.toggled")))]),t._v(" "),s("ColorInput",{attrs:{name:"btnToggledColor",fallback:t.previewTheme.colors.btnToggled,label:t.$t("settings.background")},model:{value:t.btnToggledColorLocal,callback:function(e){t.btnToggledColorLocal=e},expression:"btnToggledColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"btnToggledTextColor",fallback:t.previewTheme.colors.btnToggledText,label:t.$t("settings.text")},model:{value:t.btnToggledTextColorLocal,callback:function(e){t.btnToggledTextColorLocal=e},expression:"btnToggledTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnToggledText}}),t._v(" "),s("ColorInput",{attrs:{name:"btnToggledPanelTextColor",fallback:t.previewTheme.colors.btnToggledPanelText,label:t.$t("settings.style.advanced_colors.panel_header")},model:{value:t.btnToggledPanelTextColorLocal,callback:function(e){t.btnToggledPanelTextColorLocal=e},expression:"btnToggledPanelTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnToggledPanelText}}),t._v(" "),s("ColorInput",{attrs:{name:"btnToggledTopBarTextColor",fallback:t.previewTheme.colors.btnToggledTopBarText,label:t.$t("settings.style.advanced_colors.top_bar")},model:{value:t.btnToggledTopBarTextColorLocal,callback:function(e){t.btnToggledTopBarTextColorLocal=e},expression:"btnToggledTopBarTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.btnToggledTopBarText}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.tabs")))]),t._v(" "),s("ColorInput",{attrs:{name:"tabColor",fallback:t.previewTheme.colors.tab,label:t.$t("settings.background")},model:{value:t.tabColorLocal,callback:function(e){t.tabColorLocal=e},expression:"tabColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"tabTextColor",fallback:t.previewTheme.colors.tabText,label:t.$t("settings.text")},model:{value:t.tabTextColorLocal,callback:function(e){t.tabTextColorLocal=e},expression:"tabTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.tabText}}),t._v(" "),s("ColorInput",{attrs:{name:"tabActiveTextColor",fallback:t.previewTheme.colors.tabActiveText,label:t.$t("settings.text")},model:{value:t.tabActiveTextColorLocal,callback:function(e){t.tabActiveTextColorLocal=e},expression:"tabActiveTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.tabActiveText}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.borders")))]),t._v(" "),s("ColorInput",{attrs:{name:"borderColor",fallback:t.previewTheme.colors.border,label:t.$t("settings.style.common.color")},model:{value:t.borderColorLocal,callback:function(e){t.borderColorLocal=e},expression:"borderColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"borderOpacity",fallback:t.previewTheme.opacity.border,disabled:"transparent"===t.borderColorLocal},model:{value:t.borderOpacityLocal,callback:function(e){t.borderOpacityLocal=e},expression:"borderOpacityLocal"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.faint_text")))]),t._v(" "),s("ColorInput",{attrs:{name:"faintColor",fallback:t.previewTheme.colors.faint,label:t.$t("settings.text")},model:{value:t.faintColorLocal,callback:function(e){t.faintColorLocal=e},expression:"faintColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"faintLinkColor",fallback:t.previewTheme.colors.faintLink,label:t.$t("settings.links")},model:{value:t.faintLinkColorLocal,callback:function(e){t.faintLinkColorLocal=e},expression:"faintLinkColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"panelFaintColor",fallback:t.previewTheme.colors.panelFaint,label:t.$t("settings.style.advanced_colors.panel_header")},model:{value:t.panelFaintColorLocal,callback:function(e){t.panelFaintColorLocal=e},expression:"panelFaintColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"faintOpacity",fallback:t.previewTheme.opacity.faint},model:{value:t.faintOpacityLocal,callback:function(e){t.faintOpacityLocal=e},expression:"faintOpacityLocal"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.underlay")))]),t._v(" "),s("ColorInput",{attrs:{name:"underlay",label:t.$t("settings.style.advanced_colors.underlay"),fallback:t.previewTheme.colors.underlay},model:{value:t.underlayColorLocal,callback:function(e){t.underlayColorLocal=e},expression:"underlayColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"underlayOpacity",fallback:t.previewTheme.opacity.underlay,disabled:"transparent"===t.underlayOpacityLocal},model:{value:t.underlayOpacityLocal,callback:function(e){t.underlayOpacityLocal=e},expression:"underlayOpacityLocal"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.wallpaper")))]),t._v(" "),s("ColorInput",{attrs:{name:"wallpaper",label:t.$t("settings.style.advanced_colors.wallpaper"),fallback:t.previewTheme.colors.wallpaper},model:{value:t.wallpaperColorLocal,callback:function(e){t.wallpaperColorLocal=e},expression:"wallpaperColorLocal"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.poll")))]),t._v(" "),s("ColorInput",{attrs:{name:"poll",label:t.$t("settings.background"),fallback:t.previewTheme.colors.poll},model:{value:t.pollColorLocal,callback:function(e){t.pollColorLocal=e},expression:"pollColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"pollText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.pollText},model:{value:t.pollTextColorLocal,callback:function(e){t.pollTextColorLocal=e},expression:"pollTextColorLocal"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.icons")))]),t._v(" "),s("ColorInput",{attrs:{name:"icon",label:t.$t("settings.style.advanced_colors.icons"),fallback:t.previewTheme.colors.icon},model:{value:t.iconColorLocal,callback:function(e){t.iconColorLocal=e},expression:"iconColorLocal"}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.highlight")))]),t._v(" "),s("ColorInput",{attrs:{name:"highlight",label:t.$t("settings.background"),fallback:t.previewTheme.colors.highlight},model:{value:t.highlightColorLocal,callback:function(e){t.highlightColorLocal=e},expression:"highlightColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"highlightText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.highlightText},model:{value:t.highlightTextColorLocal,callback:function(e){t.highlightTextColorLocal=e},expression:"highlightTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.highlightText}}),t._v(" "),s("ColorInput",{attrs:{name:"highlightLink",label:t.$t("settings.links"),fallback:t.previewTheme.colors.highlightLink},model:{value:t.highlightLinkColorLocal,callback:function(e){t.highlightLinkColorLocal=e},expression:"highlightLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.highlightLink}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.popover")))]),t._v(" "),s("ColorInput",{attrs:{name:"popover",label:t.$t("settings.background"),fallback:t.previewTheme.colors.popover},model:{value:t.popoverColorLocal,callback:function(e){t.popoverColorLocal=e},expression:"popoverColorLocal"}}),t._v(" "),s("OpacityInput",{attrs:{name:"popoverOpacity",fallback:t.previewTheme.opacity.popover,disabled:"transparent"===t.popoverOpacityLocal},model:{value:t.popoverOpacityLocal,callback:function(e){t.popoverOpacityLocal=e},expression:"popoverOpacityLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"popoverText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.popoverText},model:{value:t.popoverTextColorLocal,callback:function(e){t.popoverTextColorLocal=e},expression:"popoverTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.popoverText}}),t._v(" "),s("ColorInput",{attrs:{name:"popoverLink",label:t.$t("settings.links"),fallback:t.previewTheme.colors.popoverLink},model:{value:t.popoverLinkColorLocal,callback:function(e){t.popoverLinkColorLocal=e},expression:"popoverLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.popoverLink}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.selectedPost")))]),t._v(" "),s("ColorInput",{attrs:{name:"selectedPost",label:t.$t("settings.background"),fallback:t.previewTheme.colors.selectedPost},model:{value:t.selectedPostColorLocal,callback:function(e){t.selectedPostColorLocal=e},expression:"selectedPostColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"selectedPostText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.selectedPostText},model:{value:t.selectedPostTextColorLocal,callback:function(e){t.selectedPostTextColorLocal=e},expression:"selectedPostTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.selectedPostText}}),t._v(" "),s("ColorInput",{attrs:{name:"selectedPostLink",label:t.$t("settings.links"),fallback:t.previewTheme.colors.selectedPostLink},model:{value:t.selectedPostLinkColorLocal,callback:function(e){t.selectedPostLinkColorLocal=e},expression:"selectedPostLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.selectedPostLink}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("settings.style.advanced_colors.selectedMenu")))]),t._v(" "),s("ColorInput",{attrs:{name:"selectedMenu",label:t.$t("settings.background"),fallback:t.previewTheme.colors.selectedMenu},model:{value:t.selectedMenuColorLocal,callback:function(e){t.selectedMenuColorLocal=e},expression:"selectedMenuColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"selectedMenuText",label:t.$t("settings.text"),fallback:t.previewTheme.colors.selectedMenuText},model:{value:t.selectedMenuTextColorLocal,callback:function(e){t.selectedMenuTextColorLocal=e},expression:"selectedMenuTextColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.selectedMenuText}}),t._v(" "),s("ColorInput",{attrs:{name:"selectedMenuLink",label:t.$t("settings.links"),fallback:t.previewTheme.colors.selectedMenuLink},model:{value:t.selectedMenuLinkColorLocal,callback:function(e){t.selectedMenuLinkColorLocal=e},expression:"selectedMenuLinkColorLocal"}}),t._v(" "),s("ContrastRatio",{attrs:{contrast:t.previewContrast.selectedMenuLink}})],1),t._v(" "),s("div",{staticClass:"color-item"},[s("h4",[t._v(t._s(t.$t("chats.chats")))]),t._v(" "),s("ColorInput",{attrs:{name:"chatBgColor",fallback:t.previewTheme.colors.bg,label:t.$t("settings.background")},model:{value:t.chatBgColorLocal,callback:function(e){t.chatBgColorLocal=e},expression:"chatBgColorLocal"}}),t._v(" "),s("h5",[t._v(t._s(t.$t("settings.style.advanced_colors.chat.incoming")))]),t._v(" "),s("ColorInput",{attrs:{name:"chatMessageIncomingBgColor",fallback:t.previewTheme.colors.bg,label:t.$t("settings.background")},model:{value:t.chatMessageIncomingBgColorLocal,callback:function(e){t.chatMessageIncomingBgColorLocal=e},expression:"chatMessageIncomingBgColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"chatMessageIncomingTextColor",fallback:t.previewTheme.colors.text,label:t.$t("settings.text")},model:{value:t.chatMessageIncomingTextColorLocal,callback:function(e){t.chatMessageIncomingTextColorLocal=e},expression:"chatMessageIncomingTextColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"chatMessageIncomingLinkColor",fallback:t.previewTheme.colors.link,label:t.$t("settings.links")},model:{value:t.chatMessageIncomingLinkColorLocal,callback:function(e){t.chatMessageIncomingLinkColorLocal=e},expression:"chatMessageIncomingLinkColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"chatMessageIncomingBorderLinkColor",fallback:t.previewTheme.colors.fg,label:t.$t("settings.style.advanced_colors.chat.border")},model:{value:t.chatMessageIncomingBorderColorLocal,callback:function(e){t.chatMessageIncomingBorderColorLocal=e},expression:"chatMessageIncomingBorderColorLocal"}}),t._v(" "),s("h5",[t._v(t._s(t.$t("settings.style.advanced_colors.chat.outgoing")))]),t._v(" "),s("ColorInput",{attrs:{name:"chatMessageOutgoingBgColor",fallback:t.previewTheme.colors.bg,label:t.$t("settings.background")},model:{value:t.chatMessageOutgoingBgColorLocal,callback:function(e){t.chatMessageOutgoingBgColorLocal=e},expression:"chatMessageOutgoingBgColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"chatMessageOutgoingTextColor",fallback:t.previewTheme.colors.text,label:t.$t("settings.text")},model:{value:t.chatMessageOutgoingTextColorLocal,callback:function(e){t.chatMessageOutgoingTextColorLocal=e},expression:"chatMessageOutgoingTextColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"chatMessageOutgoingLinkColor",fallback:t.previewTheme.colors.link,label:t.$t("settings.links")},model:{value:t.chatMessageOutgoingLinkColorLocal,callback:function(e){t.chatMessageOutgoingLinkColorLocal=e},expression:"chatMessageOutgoingLinkColorLocal"}}),t._v(" "),s("ColorInput",{attrs:{name:"chatMessageOutgoingBorderLinkColor",fallback:t.previewTheme.colors.bg,label:t.$t("settings.style.advanced_colors.chat.border")},model:{value:t.chatMessageOutgoingBorderColorLocal,callback:function(e){t.chatMessageOutgoingBorderColorLocal=e},expression:"chatMessageOutgoingBorderColorLocal"}})],1)]),t._v(" "),s("div",{staticClass:"radius-container",attrs:{label:t.$t("settings.style.radii._tab_label")}},[s("div",{staticClass:"tab-header"},[s("p",[t._v(t._s(t.$t("settings.radii_help")))]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.clearRoundness}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_all"))+"\n ")])]),t._v(" "),s("RangeInput",{attrs:{name:"btnRadius",label:t.$t("settings.btnRadius"),fallback:t.previewTheme.radii.btn,max:"16","hard-min":"0"},model:{value:t.btnRadiusLocal,callback:function(e){t.btnRadiusLocal=e},expression:"btnRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"inputRadius",label:t.$t("settings.inputRadius"),fallback:t.previewTheme.radii.input,max:"9","hard-min":"0"},model:{value:t.inputRadiusLocal,callback:function(e){t.inputRadiusLocal=e},expression:"inputRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"checkboxRadius",label:t.$t("settings.checkboxRadius"),fallback:t.previewTheme.radii.checkbox,max:"16","hard-min":"0"},model:{value:t.checkboxRadiusLocal,callback:function(e){t.checkboxRadiusLocal=e},expression:"checkboxRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"panelRadius",label:t.$t("settings.panelRadius"),fallback:t.previewTheme.radii.panel,max:"50","hard-min":"0"},model:{value:t.panelRadiusLocal,callback:function(e){t.panelRadiusLocal=e},expression:"panelRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"avatarRadius",label:t.$t("settings.avatarRadius"),fallback:t.previewTheme.radii.avatar,max:"28","hard-min":"0"},model:{value:t.avatarRadiusLocal,callback:function(e){t.avatarRadiusLocal=e},expression:"avatarRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"avatarAltRadius",label:t.$t("settings.avatarAltRadius"),fallback:t.previewTheme.radii.avatarAlt,max:"28","hard-min":"0"},model:{value:t.avatarAltRadiusLocal,callback:function(e){t.avatarAltRadiusLocal=e},expression:"avatarAltRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"attachmentRadius",label:t.$t("settings.attachmentRadius"),fallback:t.previewTheme.radii.attachment,max:"50","hard-min":"0"},model:{value:t.attachmentRadiusLocal,callback:function(e){t.attachmentRadiusLocal=e},expression:"attachmentRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"tooltipRadius",label:t.$t("settings.tooltipRadius"),fallback:t.previewTheme.radii.tooltip,max:"50","hard-min":"0"},model:{value:t.tooltipRadiusLocal,callback:function(e){t.tooltipRadiusLocal=e},expression:"tooltipRadiusLocal"}}),t._v(" "),s("RangeInput",{attrs:{name:"chatMessageRadius",label:t.$t("settings.chatMessageRadius"),fallback:t.previewTheme.radii.chatMessage||2,max:"50","hard-min":"0"},model:{value:t.chatMessageRadiusLocal,callback:function(e){t.chatMessageRadiusLocal=e},expression:"chatMessageRadiusLocal"}})],1),t._v(" "),s("div",{staticClass:"shadow-container",attrs:{label:t.$t("settings.style.shadows._tab_label")}},[s("div",{staticClass:"tab-header shadow-selector"},[s("div",{staticClass:"select-container"},[t._v("\n "+t._s(t.$t("settings.style.shadows.component"))+"\n "),s("Select",{staticClass:"shadow-switcher",attrs:{id:"shadow-switcher"},model:{value:t.shadowSelected,callback:function(e){t.shadowSelected=e},expression:"shadowSelected"}},t._l(t.shadowsAvailable,(function(e){return s("option",{key:e,domProps:{value:e}},[t._v("\n "+t._s(t.$t("settings.style.shadows.components."+e))+"\n ")])})),0)],1),t._v(" "),s("div",{staticClass:"override"},[s("label",{staticClass:"label",attrs:{for:"override"}},[t._v("\n "+t._s(t.$t("settings.style.shadows.override"))+"\n ")]),t._v(" "),s("input",{directives:[{name:"model",rawName:"v-model",value:t.currentShadowOverriden,expression:"currentShadowOverriden"}],staticClass:"input-override",attrs:{id:"override",name:"override",type:"checkbox"},domProps:{checked:Array.isArray(t.currentShadowOverriden)?t._i(t.currentShadowOverriden,null)>-1:t.currentShadowOverriden},on:{change:function(e){var s=t.currentShadowOverriden,n=e.target,a=!!n.checked;if(Array.isArray(s)){var o=t._i(s,null);n.checked?o<0&&(t.currentShadowOverriden=s.concat([null])):o>-1&&(t.currentShadowOverriden=s.slice(0,o).concat(s.slice(o+1)))}else t.currentShadowOverriden=a}}}),t._v(" "),s("label",{staticClass:"checkbox-label",attrs:{for:"override"}})]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.clearShadows}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_all"))+"\n ")])]),t._v(" "),s("ShadowControl",{attrs:{ready:!!t.currentShadowFallback,fallback:t.currentShadowFallback},model:{value:t.currentShadow,callback:function(e){t.currentShadow=e},expression:"currentShadow"}}),t._v(" "),"avatar"===t.shadowSelected||"avatarStatus"===t.shadowSelected?s("div",[s("i18n",{attrs:{path:"settings.style.shadows.filter_hint.always_drop_shadow",tag:"p"}},[s("code",[t._v("filter: drop-shadow()")])]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.style.shadows.filter_hint.avatar_inset")))]),t._v(" "),s("i18n",{attrs:{path:"settings.style.shadows.filter_hint.drop_shadow_syntax",tag:"p"}},[s("code",[t._v("drop-shadow")]),t._v(" "),s("code",[t._v("spread-radius")]),t._v(" "),s("code",[t._v("inset")])]),t._v(" "),s("i18n",{attrs:{path:"settings.style.shadows.filter_hint.inset_classic",tag:"p"}},[s("code",[t._v("box-shadow")])]),t._v(" "),s("p",[t._v(t._s(t.$t("settings.style.shadows.filter_hint.spread_zero")))])],1):t._e()],1),t._v(" "),s("div",{staticClass:"fonts-container",attrs:{label:t.$t("settings.style.fonts._tab_label")}},[s("div",{staticClass:"tab-header"},[s("p",[t._v(t._s(t.$t("settings.style.fonts.help")))]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.clearFonts}},[t._v("\n "+t._s(t.$t("settings.style.switcher.clear_all"))+"\n ")])]),t._v(" "),s("FontControl",{attrs:{name:"ui",label:t.$t("settings.style.fonts.components.interface"),fallback:t.previewTheme.fonts.interface,"no-inherit":"1"},model:{value:t.fontsLocal.interface,callback:function(e){t.$set(t.fontsLocal,"interface",e)},expression:"fontsLocal.interface"}}),t._v(" "),s("FontControl",{attrs:{name:"input",label:t.$t("settings.style.fonts.components.input"),fallback:t.previewTheme.fonts.input},model:{value:t.fontsLocal.input,callback:function(e){t.$set(t.fontsLocal,"input",e)},expression:"fontsLocal.input"}}),t._v(" "),s("FontControl",{attrs:{name:"post",label:t.$t("settings.style.fonts.components.post"),fallback:t.previewTheme.fonts.post},model:{value:t.fontsLocal.post,callback:function(e){t.$set(t.fontsLocal,"post",e)},expression:"fontsLocal.post"}}),t._v(" "),s("FontControl",{attrs:{name:"postCode",label:t.$t("settings.style.fonts.components.postCode"),fallback:t.previewTheme.fonts.postCode},model:{value:t.fontsLocal.postCode,callback:function(e){t.$set(t.fontsLocal,"postCode",e)},expression:"fontsLocal.postCode"}})],1)])],1),t._v(" "),s("div",{staticClass:"apply-container"},[s("button",{staticClass:"btn button-default submit",attrs:{disabled:!t.themeValid},on:{click:t.setCustomTheme}},[t._v("\n "+t._s(t.$t("general.apply"))+"\n ")]),t._v(" "),s("button",{staticClass:"btn button-default",on:{click:t.clearAll}},[t._v("\n "+t._s(t.$t("settings.style.switcher.reset"))+"\n ")])])],1)}),[],!1,ts,null,null).exports;i.c.add(r.qb,r.mb,r.C,r.N,r.e,r.q,r.y,r.H);var ss={components:{TabSwitcher:n.a,DataImportExportTab:_,MutesAndBlocksTab:ct,NotificationsTab:dt,FilteringTab:Et,SecurityTab:Yt,ProfileTab:ve,GeneralTab:xe,VersionTab:ye,ThemeTab:es},computed:{isLoggedIn:function(){return!!this.$store.state.users.currentUser},open:function(){return"hidden"!==this.$store.state.interface.settingsModalState}},methods:{onOpen:function(){var t=this.$store.state.interface.settingsModalTargetTab;if(t){var e=this.$refs.tabSwitcher.$slots.default.findIndex((function(e){return e.data&&e.data.attrs["data-tab-name"]===t}));e>=0&&this.$refs.tabSwitcher.setTab(e)}this.$store.dispatch("clearSettingsModalTargetTab")}},mounted:function(){this.onOpen()},watch:{open:function(t){t&&this.onOpen()}}};var ns=function(t){s(629)},as=Object(c.a)(ss,(function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("tab-switcher",{ref:"tabSwitcher",staticClass:"settings_tab-switcher",attrs:{"side-tab-bar":!0,"scrollable-tabs":!0}},[s("div",{attrs:{label:t.$t("settings.general"),icon:"wrench","data-tab-name":"general"}},[s("GeneralTab")],1),t._v(" "),t.isLoggedIn?s("div",{attrs:{label:t.$t("settings.profile_tab"),icon:"user","data-tab-name":"profile"}},[s("ProfileTab")],1):t._e(),t._v(" "),t.isLoggedIn?s("div",{attrs:{label:t.$t("settings.security_tab"),icon:"lock","data-tab-name":"security"}},[s("SecurityTab")],1):t._e(),t._v(" "),s("div",{attrs:{label:t.$t("settings.filtering"),icon:"filter","data-tab-name":"filtering"}},[s("FilteringTab")],1),t._v(" "),s("div",{attrs:{label:t.$t("settings.theme"),icon:"paint-brush","data-tab-name":"theme"}},[s("ThemeTab")],1),t._v(" "),t.isLoggedIn?s("div",{attrs:{label:t.$t("settings.notifications"),icon:"bell","data-tab-name":"notifications"}},[s("NotificationsTab")],1):t._e(),t._v(" "),t.isLoggedIn?s("div",{attrs:{label:t.$t("settings.data_import_export_tab"),icon:"download","data-tab-name":"dataImportExport"}},[s("DataImportExportTab")],1):t._e(),t._v(" "),t.isLoggedIn?s("div",{attrs:{label:t.$t("settings.mutes_and_blocks"),fullHeight:!0,icon:"eye-slash","data-tab-name":"mutesAndBlocks"}},[s("MutesAndBlocksTab")],1):t._e(),t._v(" "),s("div",{attrs:{label:t.$t("settings.version.title"),icon:"info","data-tab-name":"version"}},[s("VersionTab")],1)])}),[],!1,ns,null,null);e.default=as.exports}}]); +//# sourceMappingURL=2.fec2056b00b4fa3921ba.js.map \ No newline at end of file diff --git a/priv/static/static/js/2.fec2056b00b4fa3921ba.js.map b/priv/static/static/js/2.fec2056b00b4fa3921ba.js.map new file mode 100644 index 000000000..31d328177 --- /dev/null +++ b/priv/static/static/js/2.fec2056b00b4fa3921ba.js.map @@ -0,0 +1 @@ +{"version":3,"sources":["webpack:///./src/components/settings_modal/settings_modal_content.scss?d424","webpack:///./src/components/settings_modal/settings_modal_content.scss","webpack:///./src/components/importer/importer.vue?7798","webpack:///./src/components/importer/importer.vue?6af6","webpack:///./src/components/exporter/exporter.vue?dea3","webpack:///./src/components/exporter/exporter.vue?cc2b","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.scss?4d0c","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.scss","webpack:///./src/components/autosuggest/autosuggest.vue?9908","webpack:///./src/components/autosuggest/autosuggest.vue?9383","webpack:///./src/components/block_card/block_card.vue?7ad7","webpack:///./src/components/block_card/block_card.vue?ddc8","webpack:///./src/components/mute_card/mute_card.vue?c72f","webpack:///./src/components/mute_card/mute_card.vue?1268","webpack:///./src/components/domain_mute_card/domain_mute_card.vue?a613","webpack:///./src/components/domain_mute_card/domain_mute_card.vue?c85e","webpack:///./src/components/selectable_list/selectable_list.vue?a6e3","webpack:///./src/components/selectable_list/selectable_list.vue?c2f8","webpack:///./src/components/settings_modal/helpers/modified_indicator.vue?c223","webpack:///./src/components/settings_modal/helpers/modified_indicator.vue?81f6","webpack:///./src/components/settings_modal/helpers/choice_setting.vue?44d1","webpack:///./src/components/settings_modal/helpers/choice_setting.vue?17b7","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.vue?540b","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.vue?cd9f","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue?da3d","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue?57b8","webpack:///./src/components/settings_modal/tabs/profile_tab.scss?588b","webpack:///./src/components/settings_modal/tabs/profile_tab.scss","webpack:///./src/components/image_cropper/image_cropper.vue?f169","webpack:///./src/components/image_cropper/image_cropper.vue?6235","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.scss?080d","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.scss","webpack:///./src/components/color_input/color_input.scss?c457","webpack:///./src/components/color_input/color_input.scss","webpack:///./src/components/color_input/color_input.vue?6a4c","webpack:///./src/components/color_input/color_input.vue?bb22","webpack:///./src/components/shadow_control/shadow_control.vue?bfd4","webpack:///./src/components/shadow_control/shadow_control.vue?78ef","webpack:///./src/components/font_control/font_control.vue?5f33","webpack:///./src/components/font_control/font_control.vue?bef4","webpack:///./src/components/contrast_ratio/contrast_ratio.vue?a340","webpack:///./src/components/contrast_ratio/contrast_ratio.vue?32fa","webpack:///./src/components/settings_modal/tabs/theme_tab/preview.vue?1ae8","webpack:///./src/components/settings_modal/tabs/theme_tab/preview.vue?ab81","webpack:///./src/components/importer/importer.js","webpack:///./src/components/importer/importer.vue","webpack:///./src/components/importer/importer.vue?11c1","webpack:///./src/components/exporter/exporter.js","webpack:///./src/components/exporter/exporter.vue","webpack:///./src/components/exporter/exporter.vue?8ccc","webpack:///./src/components/settings_modal/tabs/data_import_export_tab.js","webpack:///./src/components/settings_modal/tabs/data_import_export_tab.vue","webpack:///./src/components/settings_modal/tabs/data_import_export_tab.vue?eb14","webpack:///./src/components/autosuggest/autosuggest.js","webpack:///./src/components/autosuggest/autosuggest.vue","webpack:///./src/components/autosuggest/autosuggest.vue?b400","webpack:///./src/components/block_card/block_card.js","webpack:///./src/components/block_card/block_card.vue","webpack:///./src/components/block_card/block_card.vue?c0ce","webpack:///./src/components/mute_card/mute_card.js","webpack:///./src/components/mute_card/mute_card.vue","webpack:///./src/components/mute_card/mute_card.vue?1fcb","webpack:///./src/components/domain_mute_card/domain_mute_card.js","webpack:///./src/components/domain_mute_card/domain_mute_card.vue","webpack:///./src/components/domain_mute_card/domain_mute_card.vue?bd8a","webpack:///./src/components/selectable_list/selectable_list.js","webpack:///./src/components/selectable_list/selectable_list.vue","webpack:///./src/components/selectable_list/selectable_list.vue?012d","webpack:///./src/hocs/with_subscription/with_subscription.js","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.js","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.vue","webpack:///./src/components/settings_modal/tabs/mutes_and_blocks_tab.vue?ef8c","webpack:///./src/components/settings_modal/tabs/notifications_tab.js","webpack:///./src/components/settings_modal/tabs/notifications_tab.vue","webpack:///./src/components/settings_modal/tabs/notifications_tab.vue?79e8","webpack:///src/components/settings_modal/helpers/modified_indicator.vue","webpack:///./src/components/settings_modal/helpers/modified_indicator.vue","webpack:///./src/components/settings_modal/helpers/modified_indicator.vue?e06d","webpack:///./src/components/settings_modal/helpers/boolean_setting.js","webpack:///./src/components/settings_modal/helpers/boolean_setting.vue","webpack:///./src/components/settings_modal/helpers/boolean_setting.vue?03b6","webpack:///./src/components/settings_modal/helpers/choice_setting.js","webpack:///./src/components/settings_modal/helpers/choice_setting.vue","webpack:///./src/components/settings_modal/helpers/choice_setting.vue?bf0a","webpack:///./src/components/settings_modal/helpers/shared_computed_object.js","webpack:///./src/components/settings_modal/tabs/filtering_tab.js","webpack:///./src/components/settings_modal/tabs/filtering_tab.vue","webpack:///./src/components/settings_modal/tabs/filtering_tab.vue?8eaf","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.js","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_backup_codes.vue?198f","webpack:///./src/components/settings_modal/tabs/security_tab/confirm.js","webpack:///./src/components/settings_modal/tabs/security_tab/confirm.vue","webpack:///./src/components/settings_modal/tabs/security_tab/confirm.vue?14b1","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_totp.js","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.js","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_totp.vue","webpack:///./src/components/settings_modal/tabs/security_tab/mfa_totp.vue?5e8d","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.vue","webpack:///./src/components/settings_modal/tabs/security_tab/mfa.vue?ab3a","webpack:///./src/components/settings_modal/tabs/security_tab/security_tab.js","webpack:///./src/components/settings_modal/tabs/security_tab/security_tab.vue","webpack:///./src/components/settings_modal/tabs/security_tab/security_tab.vue?2be5","webpack:///./src/components/image_cropper/image_cropper.js","webpack:///./src/components/image_cropper/image_cropper.vue","webpack:///./src/components/image_cropper/image_cropper.vue?f953","webpack:///./src/components/settings_modal/tabs/profile_tab.js","webpack:///./src/components/settings_modal/tabs/profile_tab.vue","webpack:///./src/components/settings_modal/tabs/profile_tab.vue?cec7","webpack:///src/components/interface_language_switcher/interface_language_switcher.vue","webpack:///./src/components/interface_language_switcher/interface_language_switcher.vue","webpack:///./src/components/interface_language_switcher/interface_language_switcher.vue?f146","webpack:///./src/components/settings_modal/tabs/general_tab.js","webpack:///./src/components/settings_modal/tabs/general_tab.vue","webpack:///./src/components/settings_modal/tabs/general_tab.vue?b4d6","webpack:///./src/components/settings_modal/tabs/version_tab.js","webpack:///./src/services/version/version.service.js","webpack:///./src/components/settings_modal/tabs/version_tab.vue","webpack:///./src/components/settings_modal/tabs/version_tab.vue?7cbe","webpack:///src/components/color_input/color_input.vue","webpack:///./src/components/color_input/color_input.vue","webpack:///./src/components/color_input/color_input.vue?3d5b","webpack:///./src/components/range_input/range_input.vue","webpack:///src/components/range_input/range_input.vue","webpack:///./src/components/range_input/range_input.vue?202a","webpack:///src/components/opacity_input/opacity_input.vue","webpack:///./src/components/opacity_input/opacity_input.vue","webpack:///./src/components/opacity_input/opacity_input.vue?0078","webpack:///./src/components/shadow_control/shadow_control.js","webpack:///./src/components/shadow_control/shadow_control.vue","webpack:///./src/components/shadow_control/shadow_control.vue?1399","webpack:///./src/components/font_control/font_control.js","webpack:///./src/components/font_control/font_control.vue","webpack:///./src/components/font_control/font_control.vue?b0ba","webpack:///src/components/contrast_ratio/contrast_ratio.vue","webpack:///./src/components/contrast_ratio/contrast_ratio.vue","webpack:///./src/components/contrast_ratio/contrast_ratio.vue?dc36","webpack:///src/components/settings_modal/tabs/theme_tab/preview.vue","webpack:///./src/components/settings_modal/tabs/theme_tab/preview.vue","webpack:///./src/components/settings_modal/tabs/theme_tab/preview.vue?f344","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.js","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.vue","webpack:///./src/components/settings_modal/tabs/theme_tab/theme_tab.vue?8594","webpack:///./src/components/settings_modal/settings_modal_content.js","webpack:///./src/components/settings_modal/settings_modal_content.vue","webpack:///./src/components/settings_modal/settings_modal_content.vue?277c"],"names":["content","module","i","locals","exports","add","default","push","library","faCircleNotch","faTimes","Importer","props","submitHandler","type","Function","required","submitButtonLabel","String","this","$t","successMessage","errorMessage","data","file","error","success","submitting","methods","change","$refs","input","files","submit","dismiss","then","__vue_styles__","context","_vm","_h","$createElement","_c","_self","staticClass","ref","attrs","on","_v","_s","_e","Exporter","getContent","filename","exportButtonLabel","processingMessage","processing","process","fileToDownload","document","createElement","setAttribute","encodeURIComponent","style","display","body","appendChild","click","removeChild","setTimeout","DataImportExportTab","activeTab","newDomainToMute","created","$store","dispatch","components","Checkbox","computed","mapState","backendInteractor","state","api","user","users","currentUser","getFollowsContent","exportFriends","id","generateExportableUsersContent","getBlocksContent","fetchBlocks","getMutesContent","fetchMutes","importFollows","status","Error","importBlocks","importMutes","map","is_local","screen_name","location","hostname","join","query","filter","placeholder","term","timeout","results","resultsVisible","filtered","watch","val","fetchResults","clearTimeout","onInputClick","onClickOutside","directives","name","rawName","value","expression","domProps","$event","target","composing","length","_l","item","_t","BlockCard","progress","getters","findUser","userId","relationship","blocked","blocking","BasicUserCard","unblockUser","blockUser","MuteCard","muted","muting","unmuteUser","muteUser","DomainMuteCard","ProgressButton","domainMutes","includes","domain","unmuteDomain","muteDomain","scopedSlots","_u","key","fn","proxy","SelectableList","List","items","Array","getKey","selected","allKeys","filteredSelected","indexOf","allSelected","noneSelected","someSelected","isSelected","toggle","checked","splice","toggleAll","slice","class","withSubscription","fetch","select","childPropName","additionalPropNames","WrappedComponent","Object","keys","getComponentProps","v","concat","Vue","component","loading","fetchedData","$props","refresh","isEmpty","fetchData","render","h","$listeners","$scopedSlots","children","entries","$slots","slot","BlockList","get","MuteList","DomainMuteList","MutesAndBlocks","TabSwitcher","Autosuggest","knownDomains","instance","activateTab","tabName","filterUnblockedUsers","userIds","reject","filterUnMutedUsers","queryUserIds","blockUsers","ids","unblockUsers","muteUsers","unmuteUsers","filterUnMutedDomains","urls","url","queryKnownDomains","Promise","resolve","toLowerCase","unmuteDomains","domains","row","NotificationsTab","notificationSettings","notification_settings","updateNotificationSettings","settings","model","callback","$$v","$set","ModifiedIndicator","pathDefault","path","split","firstSegment","rest","$parent","undefined","defaultState","isChanged","update","e","disabled","Select","option","label","SharedComputedObject","configDefaultState","defaultConfig","reduce","acc","mergedConfig","set","useStreamingApi","console","FilteringTab","muteWordsStringLocal","muteWords","replyVisibilityOptions","mode","BooleanSetting","ChoiceSetting","muteWordsString","word","notificationVisibility","handler","deep","replyVisibility","backupCodes","inProgress","codes","ready","displayTitle","code","Confirm","confirm","$emit","cancel","currentPassword","deactivate","isActivated","totp","doActivate","cancelDeactivate","doDeactivate","confirmDeactivate","mfaDisableOTP","password","res","Mfa","available","enabled","setupState","setupOTPState","getNewCodes","otpSettings","provisioning_uri","otpConfirmToken","readyInit","RecoveryCodes","VueQrcode","canSetupOTP","setupInProgress","backupCodesPrepared","setupOTPInProgress","completedOTP","prepareOTP","confirmOTP","confirmNewBackupCodes","activateOTP","fetchBackupCodes","generateMfaBackupCodes","getBackupCodes","confirmBackupCodes","cancelBackupCodes","setupOTP","mfaSetupOTP","doConfirmOTP","mfaConfirmOTP","token","completeSetup","fetchSettings","cancelSetup","settingsMFA","result","mounted","width","SecurityTab","newEmail","changeEmailError","changeEmailPassword","changedEmail","deletingAccount","deleteAccountConfirmPasswordInput","deleteAccountError","changePasswordInputs","changedPassword","changePasswordError","pleromaBackend","oauthTokens","tokens","oauthToken","appName","app_name","validUntil","Date","valid_until","toLocaleDateString","localeService","internalToBrowserLocale","$i18n","locale","confirmDelete","deleteAccount","$router","changePassword","params","newPassword","newPasswordConfirmation","logout","changeEmail","email","replace","revokeToken","window","t","ImageCropper","trigger","Element","cropperOptions","aspectRatio","autoCropArea","viewMode","movable","zoomable","guides","mimes","saveButtonLabel","saveWithoutCroppingButtonlabel","cancelButtonLabel","cropper","dataUrl","saveText","saveWithoutCroppingText","cancelText","destroy","cropping","pickImage","createCropper","Cropper","img","getTriggerDOM","querySelector","readFile","fileInput","reader","FileReader","onload","readAsDataURL","addEventListener","beforeDestroy","removeEventListener","stopPropagation","faPlus","ProfileTab","newName","name_unescaped","newBio","unescape","description","newLocked","locked","newNoRichText","no_rich_text","newDefaultScope","default_scope","newFields","fields","field","hideFollows","hide_follows","hideFollowers","hide_followers","hideFollowsCount","hide_follows_count","hideFollowersCount","hide_followers_count","showRole","show_role","role","discoverable","bot","allowFollowingMove","allow_following_move","pickAvatarBtnVisible","bannerUploading","backgroundUploading","banner","bannerPreview","background","backgroundPreview","ScopeSelector","EmojiInput","emojiUserSuggestor","suggestor","emoji","customEmoji","store","emojiSuggestor","userSuggestor","fieldsLimits","maxFields","defaultAvatar","server","defaultBanner","isDefaultAvatar","baseAvatar","profile_image_url","isDefaultBanner","baseBanner","cover_photo","isDefaultBackground","background_image","avatarImgSrc","src","profile_image_url_original","bannerImgSrc","updateProfile","note","display_name","fields_attributes","el","merge","commit","changeVis","visibility","addField","deleteField","index","event","$delete","uploadFile","size","filesize","fileSizeFormatService","fileSizeFormat","allowedsize","messageKey","messageArgs","num","filesizeunit","unit","allowedsizeunit","level","resetAvatar","submitAvatar","resetBanner","submitBanner","resetBackground","submitBackground","that","updateAvatar","avatar","updateProfileImages","displayUploadError","getCroppedCanvas","toBlob","message","_","languages","language","getLanguageName","languageName","charAt","toLocaleUpperCase","browserLocale","lang","faGlobe","GeneralTab","subjectLineOptions","loopSilentAvailable","getOwnPropertyDescriptor","HTMLVideoElement","prototype","HTMLMediaElement","InterfaceLanguageSwitcher","postFormats","postContentOptions","format","instanceSpecificPanelPresent","showInstanceSpecificPanel","instanceWallpaperUsed","instanceShoutboxPresent","shoutAvailable","streaming","hideNsfw","loopVideo","VersionTab","backendVersion","frontendVersion","frontendVersionLink","backendVersionLink","versionString","matches","match","fallback","Boolean","showOptionalTickbox","present","validColor","transparentColor","computedColor","startsWith","backgroundColor","max","hardMax","min","hardMin","step","faChevronDown","faChevronUp","toModel","object","x","y","blur","spread","inset","color","alpha","selectedId","cValue","ColorInput","OpacityInput","del","Math","moveUp","moveDn","beforeUpdate","anyShadows","anyShadowsFallback","currentFallback","moveUpValid","moveDnValid","usingFallback","rgb","hex2rgb","boxShadow","getCssShadow","shadow","isArray","_i","$$a","$$el","$$c","$$i","lValue","availableOptions","noInherit","options","dValue","family","isCustom","preset","custom","large","contrast","hint","hint_18pt","aaa","aa","laaa","laa","staticStyle","v1OnlyNames","themeImporter","newImporter","validator","importValidator","onImport","onImportFailure","themeExporter","newExporter","getExportedObject","exportedTheme","availableStyles","selectedTheme","theme","themeWarning","tempImportFile","engineVersion","previewShadows","previewColors","previewRadii","previewFonts","shadowsInvalid","colorsInvalid","radiiInvalid","keepColor","keepShadows","keepOpacity","keepRoundness","keepFonts","SLOT_INHERITANCE","OPACITIES","shadowSelected","shadowsLocal","fontsLocal","btnRadiusLocal","inputRadiusLocal","checkboxRadiusLocal","panelRadiusLocal","avatarRadiusLocal","avatarAltRadiusLocal","attachmentRadiusLocal","tooltipRadiusLocal","chatMessageRadiusLocal","self","getThemes","promises","all","k","themes","themesComplete","loadThemeFromLocalStorage","shadowsAvailable","themeWarningHelp","pre","origin","themeEngineVersion","noActionsPossible","CURRENT_VERSION","selectedVersion","currentColors","currentOpacity","currentRadii","btn","checkbox","panel","avatarAlt","tooltip","attachment","chatMessage","preview","composePreset","previewTheme","colors","opacity","radii","shadows","fonts","previewContrast","bg","colorsConverted","ratios","slotIsBaseText","textColor","layer","variant","opacitySlot","getOpacitySlot","textColors","layers","getLayers","textColorKey","newKey","toUpperCase","getContrastRatioLayers","ratio","text","toPrecision","warn","previewRules","rules","values","DEFAULT_SHADOWS","sort","currentShadowOverriden","currentShadow","currentShadowFallback","assign","themeValid","saveEverything","source","_pleroma_theme_version","RangeInput","ContrastRatio","ShadowControl","FontControl","Preview","loadTheme","fileVersion","forceUseSource","dismissWarning","version","snapshotEngineVersion","versionsMatch","sourceSnapshotMismatch","forcedSourceLoad","normalizeLocalState","forceLoadLocalStorage","forceLoad","forceSnapshot","confirmLoadSource","customTheme","customThemeSource","themeData","setCustomTheme","updatePreviewColorsAndShadows","generateColors","generateShadows","mod","importTheme","importData","exportTheme","exportData","parsed","forceSource","clearAll","clearV1","$data","endsWith","forEach","clearRoundness","clearOpacity","clearShadows","clearFonts","colors2to3","fg","fgColorLocal","rgb2hex","textColorLocal","Set","hex","Number","isNaN","shadows2to3","generateRadii","getOwnPropertyNames","generateFonts","fontsInvalid","find","s","log","bgColorLocal","linkColorLocal","cRedColorLocal","cGreenColorLocal","cBlueColorLocal","cOrangeColorLocal","bgOpacityLocal","bgText","link","accentColorLocal","accent","bgLink","fgText","fgTextColorLocal","fgLink","fgLinkColorLocal","bgCRed","bgCBlue","bgCGreen","bgCOrange","postLinkColorLocal","postLink","cGreen","postGreentextColorLocal","postGreentext","alertError","alertErrorColorLocal","alertErrorText","alertErrorTextColorLocal","alertWarning","alertWarningColorLocal","alertWarningText","alertWarningTextColorLocal","alertNeutral","alertNeutralColorLocal","alertNeutralText","alertNeutralTextColorLocal","alert","alertOpacityLocal","badgeNotification","badgeNotificationColorLocal","badgeNotificationText","badgeNotificationTextColorLocal","panelColorLocal","panelOpacityLocal","panelText","panelTextColorLocal","panelLink","panelLinkColorLocal","topBar","topBarColorLocal","topBarText","topBarTextColorLocal","topBarLink","topBarLinkColorLocal","inputColorLocal","inputOpacityLocal","inputText","inputTextColorLocal","btnColorLocal","btnOpacityLocal","btnText","btnTextColorLocal","btnPanelText","btnPanelTextColorLocal","btnTopBarText","btnTopBarTextColorLocal","btnPressed","btnPressedColorLocal","btnPressedText","btnPressedTextColorLocal","btnPressedPanelText","btnPressedPanelTextColorLocal","btnPressedTopBarText","btnPressedTopBarTextColorLocal","btnDisabled","btnDisabledColorLocal","btnDisabledText","btnDisabledTextColorLocal","btnDisabledPanelText","btnDisabledPanelTextColorLocal","btnDisabledTopBarText","btnDisabledTopBarTextColorLocal","btnToggled","btnToggledColorLocal","btnToggledText","btnToggledTextColorLocal","btnToggledPanelText","btnToggledPanelTextColorLocal","btnToggledTopBarText","btnToggledTopBarTextColorLocal","tab","tabColorLocal","tabText","tabTextColorLocal","tabActiveText","tabActiveTextColorLocal","border","borderColorLocal","borderOpacityLocal","faint","faintColorLocal","faintLink","faintLinkColorLocal","panelFaint","panelFaintColorLocal","faintOpacityLocal","underlay","underlayColorLocal","underlayOpacityLocal","wallpaper","wallpaperColorLocal","poll","pollColorLocal","pollText","pollTextColorLocal","icon","iconColorLocal","highlight","highlightColorLocal","highlightText","highlightTextColorLocal","highlightLink","highlightLinkColorLocal","popover","popoverColorLocal","popoverOpacityLocal","popoverText","popoverTextColorLocal","popoverLink","popoverLinkColorLocal","selectedPost","selectedPostColorLocal","selectedPostText","selectedPostTextColorLocal","selectedPostLink","selectedPostLinkColorLocal","selectedMenu","selectedMenuColorLocal","selectedMenuText","selectedMenuTextColorLocal","selectedMenuLink","selectedMenuLinkColorLocal","chatBgColorLocal","chatMessageIncomingBgColorLocal","chatMessageIncomingTextColorLocal","chatMessageIncomingLinkColorLocal","chatMessageIncomingBorderColorLocal","chatMessageOutgoingBgColorLocal","chatMessageOutgoingTextColorLocal","chatMessageOutgoingLinkColorLocal","chatMessageOutgoingBorderColorLocal","interface","post","postCode","faWrench","faUser","faFilter","faPaintBrush","faBell","faDownload","faEyeSlash","faInfo","SettingsModalContent","MutesAndBlocksTab","ThemeTab","isLoggedIn","open","settingsModalState","onOpen","targetTab","settingsModalTargetTab","tabIndex","tabSwitcher","findIndex","elm","setTab"],"mappings":"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","file":"static/js/2.fec2056b00b4fa3921ba.js","sourcesContent":["// style-loader: Adds some css to the DOM by adding a \n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./modified_indicator.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./modified_indicator.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./modified_indicator.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-be0aa34e\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./modified_indicator.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.changed)?_c('span',{staticClass:\"ModifiedIndicator\"},[_c('Popover',{attrs:{\"trigger\":\"hover\"},scopedSlots:_vm._u([{key:\"trigger\",fn:function(){return [_vm._v(\"\\n  \\n \"),_c('FAIcon',{attrs:{\"icon\":\"wrench\",\"aria-label\":_vm.$t('settings.setting_changed')}})]},proxy:true},{key:\"content\",fn:function(){return [_c('div',{staticClass:\"modified-tooltip\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.setting_changed'))+\"\\n \")])]},proxy:true}],null,false,1710729471)})],1):_vm._e()}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import { get, set } from 'lodash'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\nimport ModifiedIndicator from './modified_indicator.vue'\nexport default {\n components: {\n Checkbox,\n ModifiedIndicator\n },\n props: [\n 'path',\n 'disabled'\n ],\n computed: {\n pathDefault () {\n const [firstSegment, ...rest] = this.path.split('.')\n return [firstSegment + 'DefaultValue', ...rest].join('.')\n },\n state () {\n const value = get(this.$parent, this.path)\n if (value === undefined) {\n return this.defaultState\n } else {\n return value\n }\n },\n defaultState () {\n return get(this.$parent, this.pathDefault)\n },\n isChanged () {\n return this.state !== this.defaultState\n }\n },\n methods: {\n update (e) {\n set(this.$parent, this.path, e)\n }\n }\n}\n","/* script */\nexport * from \"!!babel-loader!./boolean_setting.js\"\nimport __vue_script__ from \"!!babel-loader!./boolean_setting.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5036f1bc\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./boolean_setting.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{staticClass:\"BooleanSetting\"},[_c('Checkbox',{attrs:{\"checked\":_vm.state,\"disabled\":_vm.disabled},on:{\"change\":_vm.update}},[(!!_vm.$slots.default)?_c('span',{staticClass:\"label\"},[_vm._t(\"default\")],2):_vm._e(),_vm._v(\" \"),_c('ModifiedIndicator',{attrs:{\"changed\":_vm.isChanged}})],1)],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import { get, set } from 'lodash'\nimport Select from 'src/components/select/select.vue'\nimport ModifiedIndicator from './modified_indicator.vue'\nexport default {\n components: {\n Select,\n ModifiedIndicator\n },\n props: [\n 'path',\n 'disabled',\n 'options'\n ],\n computed: {\n pathDefault () {\n const [firstSegment, ...rest] = this.path.split('.')\n return [firstSegment + 'DefaultValue', ...rest].join('.')\n },\n state () {\n const value = get(this.$parent, this.path)\n if (value === undefined) {\n return this.defaultState\n } else {\n return value\n }\n },\n defaultState () {\n return get(this.$parent, this.pathDefault)\n },\n isChanged () {\n return this.state !== this.defaultState\n }\n },\n methods: {\n update (e) {\n set(this.$parent, this.path, e)\n }\n }\n}\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./choice_setting.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./choice_setting.js\"\nimport __vue_script__ from \"!!babel-loader!./choice_setting.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4ff93bac\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./choice_setting.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{staticClass:\"ChoiceSetting\"},[_vm._t(\"default\"),_vm._v(\" \"),_c('Select',{attrs:{\"value\":_vm.state,\"disabled\":_vm.disabled},on:{\"change\":_vm.update}},_vm._l((_vm.options),function(option){return _c('option',{key:option.key,domProps:{\"value\":option.value}},[_vm._v(\"\\n \"+_vm._s(option.label)+\"\\n \"+_vm._s(option.value === _vm.defaultState ? _vm.$t('settings.instance_default_simple') : '')+\"\\n \")])}),0),_vm._v(\" \"),_c('ModifiedIndicator',{attrs:{\"changed\":_vm.isChanged}})],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import { defaultState as configDefaultState } from 'src/modules/config.js'\n\nconst SharedComputedObject = () => ({\n user () {\n return this.$store.state.users.currentUser\n },\n // Getting values for default properties\n ...Object.keys(configDefaultState)\n .map(key => [\n key + 'DefaultValue',\n function () {\n return this.$store.getters.defaultConfig[key]\n }\n ])\n .reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {}),\n // Generating computed values for vuex properties\n ...Object.keys(configDefaultState)\n .map(key => [key, {\n get () { return this.$store.getters.mergedConfig[key] },\n set (value) {\n this.$store.dispatch('setOption', { name: key, value })\n }\n }])\n .reduce((acc, [key, value]) => ({ ...acc, [key]: value }), {}),\n // Special cases (need to transform values or perform actions first)\n useStreamingApi: {\n get () { return this.$store.getters.mergedConfig.useStreamingApi },\n set (value) {\n const promise = value\n ? this.$store.dispatch('enableMastoSockets')\n : this.$store.dispatch('disableMastoSockets')\n\n promise.then(() => {\n this.$store.dispatch('setOption', { name: 'useStreamingApi', value })\n }).catch((e) => {\n console.error('Failed starting MastoAPI Streaming socket', e)\n this.$store.dispatch('disableMastoSockets')\n this.$store.dispatch('setOption', { name: 'useStreamingApi', value: false })\n })\n }\n }\n})\n\nexport default SharedComputedObject\n","import { filter, trim } from 'lodash'\nimport BooleanSetting from '../helpers/boolean_setting.vue'\nimport ChoiceSetting from '../helpers/choice_setting.vue'\n\nimport SharedComputedObject from '../helpers/shared_computed_object.js'\n\nconst FilteringTab = {\n data () {\n return {\n muteWordsStringLocal: this.$store.getters.mergedConfig.muteWords.join('\\n'),\n replyVisibilityOptions: ['all', 'following', 'self'].map(mode => ({\n key: mode,\n value: mode,\n label: this.$t(`settings.reply_visibility_${mode}`)\n }))\n }\n },\n components: {\n BooleanSetting,\n ChoiceSetting\n },\n computed: {\n ...SharedComputedObject(),\n muteWordsString: {\n get () {\n return this.muteWordsStringLocal\n },\n set (value) {\n this.muteWordsStringLocal = value\n this.$store.dispatch('setOption', {\n name: 'muteWords',\n value: filter(value.split('\\n'), (word) => trim(word).length > 0)\n })\n }\n }\n },\n // Updating nested properties\n watch: {\n notificationVisibility: {\n handler (value) {\n this.$store.dispatch('setOption', {\n name: 'notificationVisibility',\n value: this.$store.getters.mergedConfig.notificationVisibility\n })\n },\n deep: true\n },\n replyVisibility () {\n this.$store.dispatch('queueFlushAll')\n }\n }\n}\n\nexport default FilteringTab\n","/* script */\nexport * from \"!!babel-loader!./filtering_tab.js\"\nimport __vue_script__ from \"!!babel-loader!./filtering_tab.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6f76ed3c\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./filtering_tab.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"label\":_vm.$t('settings.filtering')}},[_c('div',{staticClass:\"setting-item\"},[_c('div',{staticClass:\"select-multiple\"},[_c('span',{staticClass:\"label\"},[_vm._v(_vm._s(_vm.$t('settings.notification_visibility')))]),_vm._v(\" \"),_c('ul',{staticClass:\"option-list\"},[_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"notificationVisibility.likes\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.notification_visibility_likes'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"notificationVisibility.repeats\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.notification_visibility_repeats'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"notificationVisibility.follows\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.notification_visibility_follows'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"notificationVisibility.mentions\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.notification_visibility_mentions'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"notificationVisibility.moves\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.notification_visibility_moves'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"notificationVisibility.emojiReactions\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.notification_visibility_emoji_reactions'))+\"\\n \")])],1)])]),_vm._v(\" \"),_c('ChoiceSetting',{attrs:{\"id\":\"replyVisibility\",\"path\":\"replyVisibility\",\"options\":_vm.replyVisibilityOptions}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.replies_in_timeline'))+\"\\n \")]),_vm._v(\" \"),_c('div',[_c('BooleanSetting',{attrs:{\"path\":\"hidePostStats\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_post_stats'))+\"\\n \")])],1),_vm._v(\" \"),_c('div',[_c('BooleanSetting',{attrs:{\"path\":\"hideUserStats\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_user_stats'))+\"\\n \")])],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.filtering_explanation')))]),_vm._v(\" \"),_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.muteWordsString),expression:\"muteWordsString\"}],staticClass:\"resize-height\",attrs:{\"id\":\"muteWords\"},domProps:{\"value\":(_vm.muteWordsString)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.muteWordsString=$event.target.value}}})]),_vm._v(\" \"),_c('div',[_c('BooleanSetting',{attrs:{\"path\":\"hideFilteredStatuses\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_filtered_statuses'))+\"\\n \")])],1)])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","export default {\n props: {\n backupCodes: {\n type: Object,\n default: () => ({\n inProgress: false,\n codes: []\n })\n }\n },\n data: () => ({}),\n computed: {\n inProgress () { return this.backupCodes.inProgress },\n ready () { return this.backupCodes.codes.length > 0 },\n displayTitle () { return this.inProgress || this.ready }\n }\n}\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./mfa_backup_codes.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./mfa_backup_codes.js\"\nimport __vue_script__ from \"!!babel-loader!./mfa_backup_codes.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1284fe74\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./mfa_backup_codes.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"mfa-backup-codes\"},[(_vm.displayTitle)?_c('h4',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.mfa.recovery_codes'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.inProgress)?_c('i',[_vm._v(_vm._s(_vm.$t('settings.mfa.waiting_a_recovery_codes')))]):_vm._e(),_vm._v(\" \"),(_vm.ready)?[_c('p',{staticClass:\"alert warning\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.mfa.recovery_codes_warning'))+\"\\n \")]),_vm._v(\" \"),_c('ul',{staticClass:\"backup-codes\"},_vm._l((_vm.backupCodes.codes),function(code){return _c('li',{key:code},[_vm._v(\"\\n \"+_vm._s(code)+\"\\n \")])}),0)]:_vm._e()],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","const Confirm = {\n props: ['disabled'],\n data: () => ({}),\n methods: {\n confirm () { this.$emit('confirm') },\n cancel () { this.$emit('cancel') }\n }\n}\nexport default Confirm\n","/* script */\nexport * from \"!!babel-loader!./confirm.js\"\nimport __vue_script__ from \"!!babel-loader!./confirm.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-232a09eb\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./confirm.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_vm._t(\"default\"),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":_vm.disabled},on:{\"click\":_vm.confirm}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.confirm'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":_vm.disabled},on:{\"click\":_vm.cancel}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.cancel'))+\"\\n \")])],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import Confirm from './confirm.vue'\nimport { mapState } from 'vuex'\n\nexport default {\n props: ['settings'],\n data: () => ({\n error: false,\n currentPassword: '',\n deactivate: false,\n inProgress: false // progress peform request to disable otp method\n }),\n components: {\n 'confirm': Confirm\n },\n computed: {\n isActivated () {\n return this.settings.totp\n },\n ...mapState({\n backendInteractor: (state) => state.api.backendInteractor\n })\n },\n methods: {\n doActivate () {\n this.$emit('activate')\n },\n cancelDeactivate () { this.deactivate = false },\n doDeactivate () {\n this.error = null\n this.deactivate = true\n },\n confirmDeactivate () { // confirm deactivate TOTP method\n this.error = null\n this.inProgress = true\n this.backendInteractor.mfaDisableOTP({\n password: this.currentPassword\n })\n .then((res) => {\n this.inProgress = false\n if (res.error) {\n this.error = res.error\n return\n }\n this.deactivate = false\n this.$emit('deactivate')\n })\n }\n }\n}\n","import RecoveryCodes from './mfa_backup_codes.vue'\nimport TOTP from './mfa_totp.vue'\nimport Confirm from './confirm.vue'\nimport VueQrcode from '@chenfengyuan/vue-qrcode'\nimport { mapState } from 'vuex'\n\nconst Mfa = {\n data: () => ({\n settings: { // current settings of MFA\n available: false,\n enabled: false,\n totp: false\n },\n setupState: { // setup mfa\n state: '', // state of setup. '' -> 'getBackupCodes' -> 'setupOTP' -> 'complete'\n setupOTPState: '' // state of setup otp. '' -> 'prepare' -> 'confirm' -> 'complete'\n },\n backupCodes: {\n getNewCodes: false,\n inProgress: false, // progress of fetch codes\n codes: []\n },\n otpSettings: { // pre-setup setting of OTP. secret key, qrcode url.\n provisioning_uri: '',\n key: ''\n },\n currentPassword: null,\n otpConfirmToken: null,\n error: null,\n readyInit: false\n }),\n components: {\n 'recovery-codes': RecoveryCodes,\n 'totp-item': TOTP,\n 'qrcode': VueQrcode,\n 'confirm': Confirm\n },\n computed: {\n canSetupOTP () {\n return (\n (this.setupInProgress && this.backupCodesPrepared) ||\n this.settings.enabled\n ) && !this.settings.totp && !this.setupOTPInProgress\n },\n setupInProgress () {\n return this.setupState.state !== '' && this.setupState.state !== 'complete'\n },\n setupOTPInProgress () {\n return this.setupState.state === 'setupOTP' && !this.completedOTP\n },\n prepareOTP () {\n return this.setupState.setupOTPState === 'prepare'\n },\n confirmOTP () {\n return this.setupState.setupOTPState === 'confirm'\n },\n completedOTP () {\n return this.setupState.setupOTPState === 'completed'\n },\n backupCodesPrepared () {\n return !this.backupCodes.inProgress && this.backupCodes.codes.length > 0\n },\n confirmNewBackupCodes () {\n return this.backupCodes.getNewCodes\n },\n ...mapState({\n backendInteractor: (state) => state.api.backendInteractor\n })\n },\n\n methods: {\n activateOTP () {\n if (!this.settings.enabled) {\n this.setupState.state = 'getBackupcodes'\n this.fetchBackupCodes()\n }\n },\n fetchBackupCodes () {\n this.backupCodes.inProgress = true\n this.backupCodes.codes = []\n\n return this.backendInteractor.generateMfaBackupCodes()\n .then((res) => {\n this.backupCodes.codes = res.codes\n this.backupCodes.inProgress = false\n })\n },\n getBackupCodes () { // get a new backup codes\n this.backupCodes.getNewCodes = true\n },\n confirmBackupCodes () { // confirm getting new backup codes\n this.fetchBackupCodes().then((res) => {\n this.backupCodes.getNewCodes = false\n })\n },\n cancelBackupCodes () { // cancel confirm form of new backup codes\n this.backupCodes.getNewCodes = false\n },\n\n // Setup OTP\n setupOTP () { // prepare setup OTP\n this.setupState.state = 'setupOTP'\n this.setupState.setupOTPState = 'prepare'\n this.backendInteractor.mfaSetupOTP()\n .then((res) => {\n this.otpSettings = res\n this.setupState.setupOTPState = 'confirm'\n })\n },\n doConfirmOTP () { // handler confirm enable OTP\n this.error = null\n this.backendInteractor.mfaConfirmOTP({\n token: this.otpConfirmToken,\n password: this.currentPassword\n })\n .then((res) => {\n if (res.error) {\n this.error = res.error\n return\n }\n this.completeSetup()\n })\n },\n\n completeSetup () {\n this.setupState.setupOTPState = 'complete'\n this.setupState.state = 'complete'\n this.currentPassword = null\n this.error = null\n this.fetchSettings()\n },\n cancelSetup () { // cancel setup\n this.setupState.setupOTPState = ''\n this.setupState.state = ''\n this.currentPassword = null\n this.error = null\n },\n // end Setup OTP\n\n // fetch settings from server\n async fetchSettings () {\n let result = await this.backendInteractor.settingsMFA()\n if (result.error) return\n this.settings = result.settings\n this.settings.available = true\n return result\n }\n },\n mounted () {\n this.fetchSettings().then(() => {\n this.readyInit = true\n })\n }\n}\nexport default Mfa\n","/* script */\nexport * from \"!!babel-loader!./mfa_totp.js\"\nimport __vue_script__ from \"!!babel-loader!./mfa_totp.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-5466d3a1\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./mfa_totp.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('div',{staticClass:\"method-item\"},[_c('strong',[_vm._v(_vm._s(_vm.$t('settings.mfa.otp')))]),_vm._v(\" \"),(!_vm.isActivated)?_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.doActivate}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.enable'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.isActivated)?_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":_vm.deactivate},on:{\"click\":_vm.doDeactivate}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.disable'))+\"\\n \")]):_vm._e()]),_vm._v(\" \"),(_vm.deactivate)?_c('confirm',{attrs:{\"disabled\":_vm.inProgress},on:{\"confirm\":_vm.confirmDeactivate,\"cancel\":_vm.cancelDeactivate}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.enter_current_password_to_confirm'))+\":\\n \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentPassword),expression:\"currentPassword\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.currentPassword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.currentPassword=$event.target.value}}})]):_vm._e(),_vm._v(\" \"),(_vm.error)?_c('div',{staticClass:\"alert error\"},[_vm._v(\"\\n \"+_vm._s(_vm.error)+\"\\n \")]):_vm._e()],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./mfa.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./mfa.js\"\nimport __vue_script__ from \"!!babel-loader!./mfa.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-c62074fa\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./mfa.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.readyInit && _vm.settings.available)?_c('div',{staticClass:\"setting-item mfa-settings\"},[_c('div',{staticClass:\"mfa-heading\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.mfa.title')))])]),_vm._v(\" \"),_c('div',[(!_vm.setupInProgress)?_c('div',{staticClass:\"setting-item\"},[_c('h3',[_vm._v(_vm._s(_vm.$t('settings.mfa.authentication_methods')))]),_vm._v(\" \"),_c('totp-item',{attrs:{\"settings\":_vm.settings},on:{\"deactivate\":_vm.fetchSettings,\"activate\":_vm.activateOTP}}),_vm._v(\" \"),_c('br'),_vm._v(\" \"),(_vm.settings.enabled)?_c('div',[(!_vm.confirmNewBackupCodes)?_c('recovery-codes',{attrs:{\"backup-codes\":_vm.backupCodes}}):_vm._e(),_vm._v(\" \"),(!_vm.confirmNewBackupCodes)?_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.getBackupCodes}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.mfa.generate_new_recovery_codes'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.confirmNewBackupCodes)?_c('div',[_c('confirm',{attrs:{\"disabled\":_vm.backupCodes.inProgress},on:{\"confirm\":_vm.confirmBackupCodes,\"cancel\":_vm.cancelBackupCodes}},[_c('p',{staticClass:\"warning\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.mfa.warning_of_generate_new_codes'))+\"\\n \")])])],1):_vm._e()],1):_vm._e()],1):_vm._e(),_vm._v(\" \"),(_vm.setupInProgress)?_c('div',[_c('h3',[_vm._v(_vm._s(_vm.$t('settings.mfa.setup_otp')))]),_vm._v(\" \"),(!_vm.setupOTPInProgress)?_c('recovery-codes',{attrs:{\"backup-codes\":_vm.backupCodes}}):_vm._e(),_vm._v(\" \"),(_vm.canSetupOTP)?_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.cancelSetup}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.cancel'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.canSetupOTP)?_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.setupOTP}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.mfa.setup_otp'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.setupOTPInProgress)?[(_vm.prepareOTP)?_c('i',[_vm._v(_vm._s(_vm.$t('settings.mfa.wait_pre_setup_otp')))]):_vm._e(),_vm._v(\" \"),(_vm.confirmOTP)?_c('div',[_c('div',{staticClass:\"setup-otp\"},[_c('div',{staticClass:\"qr-code\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.mfa.scan.title')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.mfa.scan.desc')))]),_vm._v(\" \"),_c('qrcode',{attrs:{\"value\":_vm.otpSettings.provisioning_uri,\"options\":{ width: 200 }}}),_vm._v(\" \"),_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.mfa.scan.secret_code'))+\":\\n \"+_vm._s(_vm.otpSettings.key)+\"\\n \")])],1),_vm._v(\" \"),_c('div',{staticClass:\"verify\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('general.verify')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.mfa.verify.desc')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.otpConfirmToken),expression:\"otpConfirmToken\"}],attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.otpConfirmToken)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.otpConfirmToken=$event.target.value}}}),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.enter_current_password_to_confirm'))+\":\")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentPassword),expression:\"currentPassword\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.currentPassword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.currentPassword=$event.target.value}}}),_vm._v(\" \"),_c('div',{staticClass:\"confirm-otp-actions\"},[_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.doConfirmOTP}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.mfa.confirm_and_enable'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.cancelSetup}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.cancel'))+\"\\n \")])]),_vm._v(\" \"),(_vm.error)?_c('div',{staticClass:\"alert error\"},[_vm._v(\"\\n \"+_vm._s(_vm.error)+\"\\n \")]):_vm._e()])])]):_vm._e()]:_vm._e()],2):_vm._e()])]):_vm._e()}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import ProgressButton from 'src/components/progress_button/progress_button.vue'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\nimport Mfa from './mfa.vue'\nimport localeService from 'src/services/locale/locale.service.js'\n\nconst SecurityTab = {\n data () {\n return {\n newEmail: '',\n changeEmailError: false,\n changeEmailPassword: '',\n changedEmail: false,\n deletingAccount: false,\n deleteAccountConfirmPasswordInput: '',\n deleteAccountError: false,\n changePasswordInputs: [ '', '', '' ],\n changedPassword: false,\n changePasswordError: false\n }\n },\n created () {\n this.$store.dispatch('fetchTokens')\n },\n components: {\n ProgressButton,\n Mfa,\n Checkbox\n },\n computed: {\n user () {\n return this.$store.state.users.currentUser\n },\n pleromaBackend () {\n return this.$store.state.instance.pleromaBackend\n },\n oauthTokens () {\n return this.$store.state.oauthTokens.tokens.map(oauthToken => {\n return {\n id: oauthToken.id,\n appName: oauthToken.app_name,\n validUntil: new Date(oauthToken.valid_until).toLocaleDateString(localeService.internalToBrowserLocale(this.$i18n.locale))\n }\n })\n }\n },\n methods: {\n confirmDelete () {\n this.deletingAccount = true\n },\n deleteAccount () {\n this.$store.state.api.backendInteractor.deleteAccount({ password: this.deleteAccountConfirmPasswordInput })\n .then((res) => {\n if (res.status === 'success') {\n this.$store.dispatch('logout')\n this.$router.push({ name: 'root' })\n } else {\n this.deleteAccountError = res.error\n }\n })\n },\n changePassword () {\n const params = {\n password: this.changePasswordInputs[0],\n newPassword: this.changePasswordInputs[1],\n newPasswordConfirmation: this.changePasswordInputs[2]\n }\n this.$store.state.api.backendInteractor.changePassword(params)\n .then((res) => {\n if (res.status === 'success') {\n this.changedPassword = true\n this.changePasswordError = false\n this.logout()\n } else {\n this.changedPassword = false\n this.changePasswordError = res.error\n }\n })\n },\n changeEmail () {\n const params = {\n email: this.newEmail,\n password: this.changeEmailPassword\n }\n this.$store.state.api.backendInteractor.changeEmail(params)\n .then((res) => {\n if (res.status === 'success') {\n this.changedEmail = true\n this.changeEmailError = false\n } else {\n this.changedEmail = false\n this.changeEmailError = res.error\n }\n })\n },\n logout () {\n this.$store.dispatch('logout')\n this.$router.replace('/')\n },\n revokeToken (id) {\n if (window.confirm(`${this.$i18n.t('settings.revoke_token')}?`)) {\n this.$store.dispatch('revokeToken', id)\n }\n }\n }\n}\n\nexport default SecurityTab\n","/* script */\nexport * from \"!!babel-loader!./security_tab.js\"\nimport __vue_script__ from \"!!babel-loader!./security_tab.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-dc4ec0ae\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./security_tab.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"label\":_vm.$t('settings.security_tab')}},[_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.change_email')))]),_vm._v(\" \"),_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.new_email')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newEmail),expression:\"newEmail\"}],attrs:{\"type\":\"email\",\"autocomplete\":\"email\"},domProps:{\"value\":(_vm.newEmail)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newEmail=$event.target.value}}})]),_vm._v(\" \"),_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.current_password')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.changeEmailPassword),expression:\"changeEmailPassword\"}],attrs:{\"type\":\"password\",\"autocomplete\":\"current-password\"},domProps:{\"value\":(_vm.changeEmailPassword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.changeEmailPassword=$event.target.value}}})]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.changeEmail}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.save'))+\"\\n \")]),_vm._v(\" \"),(_vm.changedEmail)?_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.changed_email'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.changeEmailError !== false)?[_c('p',[_vm._v(_vm._s(_vm.$t('settings.change_email_error')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.changeEmailError))])]:_vm._e()],2),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.change_password')))]),_vm._v(\" \"),_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.current_password')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.changePasswordInputs[0]),expression:\"changePasswordInputs[0]\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.changePasswordInputs[0])},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.changePasswordInputs, 0, $event.target.value)}}})]),_vm._v(\" \"),_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.new_password')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.changePasswordInputs[1]),expression:\"changePasswordInputs[1]\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.changePasswordInputs[1])},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.changePasswordInputs, 1, $event.target.value)}}})]),_vm._v(\" \"),_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.confirm_new_password')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.changePasswordInputs[2]),expression:\"changePasswordInputs[2]\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.changePasswordInputs[2])},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.changePasswordInputs, 2, $event.target.value)}}})]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.changePassword}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.save'))+\"\\n \")]),_vm._v(\" \"),(_vm.changedPassword)?_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.changed_password'))+\"\\n \")]):(_vm.changePasswordError !== false)?_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.change_password_error'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.changePasswordError)?_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.changePasswordError)+\"\\n \")]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.oauth_tokens')))]),_vm._v(\" \"),_c('table',{staticClass:\"oauth-tokens\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(_vm._s(_vm.$t('settings.app_name')))]),_vm._v(\" \"),_c('th',[_vm._v(_vm._s(_vm.$t('settings.valid_until')))]),_vm._v(\" \"),_c('th')])]),_vm._v(\" \"),_c('tbody',_vm._l((_vm.oauthTokens),function(oauthToken){return _c('tr',{key:oauthToken.id},[_c('td',[_vm._v(_vm._s(oauthToken.appName))]),_vm._v(\" \"),_c('td',[_vm._v(_vm._s(oauthToken.validUntil))]),_vm._v(\" \"),_c('td',{staticClass:\"actions\"},[_c('button',{staticClass:\"btn button-default\",on:{\"click\":function($event){return _vm.revokeToken(oauthToken.id)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.revoke_token'))+\"\\n \")])])])}),0)])]),_vm._v(\" \"),_c('mfa'),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.delete_account')))]),_vm._v(\" \"),(!_vm.deletingAccount)?_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.delete_account_description'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.deletingAccount)?_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.delete_account_instructions')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('login.password')))]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.deleteAccountConfirmPasswordInput),expression:\"deleteAccountConfirmPasswordInput\"}],attrs:{\"type\":\"password\"},domProps:{\"value\":(_vm.deleteAccountConfirmPasswordInput)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.deleteAccountConfirmPasswordInput=$event.target.value}}}),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.deleteAccount}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.delete_account'))+\"\\n \")])]):_vm._e(),_vm._v(\" \"),(_vm.deleteAccountError !== false)?_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.delete_account_error'))+\"\\n \")]):_vm._e(),_vm._v(\" \"),(_vm.deleteAccountError)?_c('p',[_vm._v(\"\\n \"+_vm._s(_vm.deleteAccountError)+\"\\n \")]):_vm._e(),_vm._v(\" \"),(!_vm.deletingAccount)?_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.confirmDelete}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.save'))+\"\\n \")]):_vm._e()])],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import Cropper from 'cropperjs'\nimport 'cropperjs/dist/cropper.css'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faCircleNotch\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faCircleNotch\n)\n\nconst ImageCropper = {\n props: {\n trigger: {\n type: [String, window.Element],\n required: true\n },\n submitHandler: {\n type: Function,\n required: true\n },\n cropperOptions: {\n type: Object,\n default () {\n return {\n aspectRatio: 1,\n autoCropArea: 1,\n viewMode: 1,\n movable: false,\n zoomable: false,\n guides: false\n }\n }\n },\n mimes: {\n type: String,\n default: 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon'\n },\n saveButtonLabel: {\n type: String\n },\n saveWithoutCroppingButtonlabel: {\n type: String\n },\n cancelButtonLabel: {\n type: String\n }\n },\n data () {\n return {\n cropper: undefined,\n dataUrl: undefined,\n filename: undefined,\n submitting: false\n }\n },\n computed: {\n saveText () {\n return this.saveButtonLabel || this.$t('image_cropper.save')\n },\n saveWithoutCroppingText () {\n return this.saveWithoutCroppingButtonlabel || this.$t('image_cropper.save_without_cropping')\n },\n cancelText () {\n return this.cancelButtonLabel || this.$t('image_cropper.cancel')\n }\n },\n methods: {\n destroy () {\n if (this.cropper) {\n this.cropper.destroy()\n }\n this.$refs.input.value = ''\n this.dataUrl = undefined\n this.$emit('close')\n },\n submit (cropping = true) {\n this.submitting = true\n this.submitHandler(cropping && this.cropper, this.file)\n .then(() => this.destroy())\n .finally(() => {\n this.submitting = false\n })\n },\n pickImage () {\n this.$refs.input.click()\n },\n createCropper () {\n this.cropper = new Cropper(this.$refs.img, this.cropperOptions)\n },\n getTriggerDOM () {\n return typeof this.trigger === 'object' ? this.trigger : document.querySelector(this.trigger)\n },\n readFile () {\n const fileInput = this.$refs.input\n if (fileInput.files != null && fileInput.files[0] != null) {\n this.file = fileInput.files[0]\n let reader = new window.FileReader()\n reader.onload = (e) => {\n this.dataUrl = e.target.result\n this.$emit('open')\n }\n reader.readAsDataURL(this.file)\n this.$emit('changed', this.file, reader)\n }\n }\n },\n mounted () {\n // listen for click event on trigger\n const trigger = this.getTriggerDOM()\n if (!trigger) {\n this.$emit('error', 'No image make trigger found.', 'user')\n } else {\n trigger.addEventListener('click', this.pickImage)\n }\n // listen for input file changes\n const fileInput = this.$refs.input\n fileInput.addEventListener('change', this.readFile)\n },\n beforeDestroy: function () {\n // remove the event listeners\n const trigger = this.getTriggerDOM()\n if (trigger) {\n trigger.removeEventListener('click', this.pickImage)\n }\n const fileInput = this.$refs.input\n fileInput.removeEventListener('change', this.readFile)\n }\n}\n\nexport default ImageCropper\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./image_cropper.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./image_cropper.js\"\nimport __vue_script__ from \"!!babel-loader!./image_cropper.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0bac39f0\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./image_cropper.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"image-cropper\"},[(_vm.dataUrl)?_c('div',[_c('div',{staticClass:\"image-cropper-image-container\"},[_c('img',{ref:\"img\",attrs:{\"src\":_vm.dataUrl,\"alt\":\"\"},on:{\"load\":function($event){$event.stopPropagation();return _vm.createCropper($event)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"image-cropper-buttons-wrapper\"},[_c('button',{staticClass:\"button-default btn\",attrs:{\"type\":\"button\",\"disabled\":_vm.submitting},domProps:{\"textContent\":_vm._s(_vm.saveText)},on:{\"click\":function($event){return _vm.submit()}}}),_vm._v(\" \"),_c('button',{staticClass:\"button-default btn\",attrs:{\"type\":\"button\",\"disabled\":_vm.submitting},domProps:{\"textContent\":_vm._s(_vm.cancelText)},on:{\"click\":_vm.destroy}}),_vm._v(\" \"),_c('button',{staticClass:\"button-default btn\",attrs:{\"type\":\"button\",\"disabled\":_vm.submitting},domProps:{\"textContent\":_vm._s(_vm.saveWithoutCroppingText)},on:{\"click\":function($event){return _vm.submit(false)}}}),_vm._v(\" \"),(_vm.submitting)?_c('FAIcon',{attrs:{\"spin\":\"\",\"icon\":\"circle-notch\"}}):_vm._e()],1)]):_vm._e(),_vm._v(\" \"),_c('input',{ref:\"input\",staticClass:\"image-cropper-img-input\",attrs:{\"type\":\"file\",\"accept\":_vm.mimes}})])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import unescape from 'lodash/unescape'\nimport merge from 'lodash/merge'\nimport ImageCropper from 'src/components/image_cropper/image_cropper.vue'\nimport ScopeSelector from 'src/components/scope_selector/scope_selector.vue'\nimport fileSizeFormatService from 'src/components/../services/file_size_format/file_size_format.js'\nimport ProgressButton from 'src/components/progress_button/progress_button.vue'\nimport EmojiInput from 'src/components/emoji_input/emoji_input.vue'\nimport suggestor from 'src/components/emoji_input/suggestor.js'\nimport Autosuggest from 'src/components/autosuggest/autosuggest.vue'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faTimes,\n faPlus,\n faCircleNotch\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faTimes,\n faPlus,\n faCircleNotch\n)\n\nconst ProfileTab = {\n data () {\n return {\n newName: this.$store.state.users.currentUser.name_unescaped,\n newBio: unescape(this.$store.state.users.currentUser.description),\n newLocked: this.$store.state.users.currentUser.locked,\n newNoRichText: this.$store.state.users.currentUser.no_rich_text,\n newDefaultScope: this.$store.state.users.currentUser.default_scope,\n newFields: this.$store.state.users.currentUser.fields.map(field => ({ name: field.name, value: field.value })),\n hideFollows: this.$store.state.users.currentUser.hide_follows,\n hideFollowers: this.$store.state.users.currentUser.hide_followers,\n hideFollowsCount: this.$store.state.users.currentUser.hide_follows_count,\n hideFollowersCount: this.$store.state.users.currentUser.hide_followers_count,\n showRole: this.$store.state.users.currentUser.show_role,\n role: this.$store.state.users.currentUser.role,\n discoverable: this.$store.state.users.currentUser.discoverable,\n bot: this.$store.state.users.currentUser.bot,\n allowFollowingMove: this.$store.state.users.currentUser.allow_following_move,\n pickAvatarBtnVisible: true,\n bannerUploading: false,\n backgroundUploading: false,\n banner: null,\n bannerPreview: null,\n background: null,\n backgroundPreview: null\n }\n },\n components: {\n ScopeSelector,\n ImageCropper,\n EmojiInput,\n Autosuggest,\n ProgressButton,\n Checkbox\n },\n computed: {\n user () {\n return this.$store.state.users.currentUser\n },\n emojiUserSuggestor () {\n return suggestor({\n emoji: [\n ...this.$store.state.instance.emoji,\n ...this.$store.state.instance.customEmoji\n ],\n store: this.$store\n })\n },\n emojiSuggestor () {\n return suggestor({ emoji: [\n ...this.$store.state.instance.emoji,\n ...this.$store.state.instance.customEmoji\n ] })\n },\n userSuggestor () {\n return suggestor({ store: this.$store })\n },\n fieldsLimits () {\n return this.$store.state.instance.fieldsLimits\n },\n maxFields () {\n return this.fieldsLimits ? this.fieldsLimits.maxFields : 0\n },\n defaultAvatar () {\n return this.$store.state.instance.server + this.$store.state.instance.defaultAvatar\n },\n defaultBanner () {\n return this.$store.state.instance.server + this.$store.state.instance.defaultBanner\n },\n isDefaultAvatar () {\n const baseAvatar = this.$store.state.instance.defaultAvatar\n return !(this.$store.state.users.currentUser.profile_image_url) ||\n this.$store.state.users.currentUser.profile_image_url.includes(baseAvatar)\n },\n isDefaultBanner () {\n const baseBanner = this.$store.state.instance.defaultBanner\n return !(this.$store.state.users.currentUser.cover_photo) ||\n this.$store.state.users.currentUser.cover_photo.includes(baseBanner)\n },\n isDefaultBackground () {\n return !(this.$store.state.users.currentUser.background_image)\n },\n avatarImgSrc () {\n const src = this.$store.state.users.currentUser.profile_image_url_original\n return (!src) ? this.defaultAvatar : src\n },\n bannerImgSrc () {\n const src = this.$store.state.users.currentUser.cover_photo\n return (!src) ? this.defaultBanner : src\n }\n },\n methods: {\n updateProfile () {\n this.$store.state.api.backendInteractor\n .updateProfile({\n params: {\n note: this.newBio,\n locked: this.newLocked,\n // Backend notation.\n /* eslint-disable camelcase */\n display_name: this.newName,\n fields_attributes: this.newFields.filter(el => el != null),\n default_scope: this.newDefaultScope,\n no_rich_text: this.newNoRichText,\n hide_follows: this.hideFollows,\n hide_followers: this.hideFollowers,\n discoverable: this.discoverable,\n bot: this.bot,\n allow_following_move: this.allowFollowingMove,\n hide_follows_count: this.hideFollowsCount,\n hide_followers_count: this.hideFollowersCount,\n show_role: this.showRole\n /* eslint-enable camelcase */\n } }).then((user) => {\n this.newFields.splice(user.fields.length)\n merge(this.newFields, user.fields)\n this.$store.commit('addNewUsers', [user])\n this.$store.commit('setCurrentUser', user)\n })\n },\n changeVis (visibility) {\n this.newDefaultScope = visibility\n },\n addField () {\n if (this.newFields.length < this.maxFields) {\n this.newFields.push({ name: '', value: '' })\n return true\n }\n return false\n },\n deleteField (index, event) {\n this.$delete(this.newFields, index)\n },\n uploadFile (slot, e) {\n const file = e.target.files[0]\n if (!file) { return }\n if (file.size > this.$store.state.instance[slot + 'limit']) {\n const filesize = fileSizeFormatService.fileSizeFormat(file.size)\n const allowedsize = fileSizeFormatService.fileSizeFormat(this.$store.state.instance[slot + 'limit'])\n this.$store.dispatch('pushGlobalNotice', {\n messageKey: 'upload.error.message',\n messageArgs: [\n this.$t('upload.error.file_too_big', {\n filesize: filesize.num,\n filesizeunit: filesize.unit,\n allowedsize: allowedsize.num,\n allowedsizeunit: allowedsize.unit\n })\n ],\n level: 'error'\n })\n return\n }\n // eslint-disable-next-line no-undef\n const reader = new FileReader()\n reader.onload = ({ target }) => {\n const img = target.result\n this[slot + 'Preview'] = img\n this[slot] = file\n }\n reader.readAsDataURL(file)\n },\n resetAvatar () {\n const confirmed = window.confirm(this.$t('settings.reset_avatar_confirm'))\n if (confirmed) {\n this.submitAvatar(undefined, '')\n }\n },\n resetBanner () {\n const confirmed = window.confirm(this.$t('settings.reset_banner_confirm'))\n if (confirmed) {\n this.submitBanner('')\n }\n },\n resetBackground () {\n const confirmed = window.confirm(this.$t('settings.reset_background_confirm'))\n if (confirmed) {\n this.submitBackground('')\n }\n },\n submitAvatar (cropper, file) {\n const that = this\n return new Promise((resolve, reject) => {\n function updateAvatar (avatar) {\n that.$store.state.api.backendInteractor.updateProfileImages({ avatar })\n .then((user) => {\n that.$store.commit('addNewUsers', [user])\n that.$store.commit('setCurrentUser', user)\n resolve()\n })\n .catch((error) => {\n that.displayUploadError(error)\n reject(error)\n })\n }\n\n if (cropper) {\n cropper.getCroppedCanvas().toBlob(updateAvatar, file.type)\n } else {\n updateAvatar(file)\n }\n })\n },\n submitBanner (banner) {\n if (!this.bannerPreview && banner !== '') { return }\n\n this.bannerUploading = true\n this.$store.state.api.backendInteractor.updateProfileImages({ banner })\n .then((user) => {\n this.$store.commit('addNewUsers', [user])\n this.$store.commit('setCurrentUser', user)\n this.bannerPreview = null\n })\n .catch(this.displayUploadError)\n .finally(() => { this.bannerUploading = false })\n },\n submitBackground (background) {\n if (!this.backgroundPreview && background !== '') { return }\n\n this.backgroundUploading = true\n this.$store.state.api.backendInteractor.updateProfileImages({ background })\n .then((data) => {\n this.$store.commit('addNewUsers', [data])\n this.$store.commit('setCurrentUser', data)\n this.backgroundPreview = null\n })\n .catch(this.displayUploadError)\n .finally(() => { this.backgroundUploading = false })\n },\n displayUploadError (error) {\n this.$store.dispatch('pushGlobalNotice', {\n messageKey: 'upload.error.message',\n messageArgs: [error.message],\n level: 'error'\n })\n }\n }\n}\n\nexport default ProfileTab\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!./profile_tab.scss\")\n}\n/* script */\nexport * from \"!!babel-loader!./profile_tab.js\"\nimport __vue_script__ from \"!!babel-loader!./profile_tab.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-12b56c32\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./profile_tab.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"profile-tab\"},[_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.name_bio')))]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.name')))]),_vm._v(\" \"),_c('EmojiInput',{attrs:{\"enable-emoji-picker\":\"\",\"suggest\":_vm.emojiSuggestor},model:{value:(_vm.newName),callback:function ($$v) {_vm.newName=$$v},expression:\"newName\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newName),expression:\"newName\"}],staticClass:\"name-changer\",attrs:{\"id\":\"username\"},domProps:{\"value\":(_vm.newName)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newName=$event.target.value}}})]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.bio')))]),_vm._v(\" \"),_c('EmojiInput',{attrs:{\"enable-emoji-picker\":\"\",\"suggest\":_vm.emojiUserSuggestor},model:{value:(_vm.newBio),callback:function ($$v) {_vm.newBio=$$v},expression:\"newBio\"}},[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newBio),expression:\"newBio\"}],staticClass:\"bio resize-height\",domProps:{\"value\":(_vm.newBio)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.newBio=$event.target.value}}})]),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.newLocked),callback:function ($$v) {_vm.newLocked=$$v},expression:\"newLocked\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.lock_account_description'))+\"\\n \")])],1),_vm._v(\" \"),_c('div',[_c('label',{attrs:{\"for\":\"default-vis\"}},[_vm._v(_vm._s(_vm.$t('settings.default_vis')))]),_vm._v(\" \"),_c('div',{staticClass:\"visibility-tray\",attrs:{\"id\":\"default-vis\"}},[_c('scope-selector',{attrs:{\"show-all\":true,\"user-default\":_vm.newDefaultScope,\"initial-scope\":_vm.newDefaultScope,\"on-scope-change\":_vm.changeVis}})],1)]),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.newNoRichText),callback:function ($$v) {_vm.newNoRichText=$$v},expression:\"newNoRichText\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.no_rich_text_description'))+\"\\n \")])],1),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.hideFollows),callback:function ($$v) {_vm.hideFollows=$$v},expression:\"hideFollows\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_follows_description'))+\"\\n \")])],1),_vm._v(\" \"),_c('p',{staticClass:\"setting-subitem\"},[_c('Checkbox',{attrs:{\"disabled\":!_vm.hideFollows},model:{value:(_vm.hideFollowsCount),callback:function ($$v) {_vm.hideFollowsCount=$$v},expression:\"hideFollowsCount\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_follows_count_description'))+\"\\n \")])],1),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.hideFollowers),callback:function ($$v) {_vm.hideFollowers=$$v},expression:\"hideFollowers\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_followers_description'))+\"\\n \")])],1),_vm._v(\" \"),_c('p',{staticClass:\"setting-subitem\"},[_c('Checkbox',{attrs:{\"disabled\":!_vm.hideFollowers},model:{value:(_vm.hideFollowersCount),callback:function ($$v) {_vm.hideFollowersCount=$$v},expression:\"hideFollowersCount\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_followers_count_description'))+\"\\n \")])],1),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.allowFollowingMove),callback:function ($$v) {_vm.allowFollowingMove=$$v},expression:\"allowFollowingMove\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.allow_following_move'))+\"\\n \")])],1),_vm._v(\" \"),(_vm.role === 'admin' || _vm.role === 'moderator')?_c('p',[_c('Checkbox',{model:{value:(_vm.showRole),callback:function ($$v) {_vm.showRole=$$v},expression:\"showRole\"}},[(_vm.role === 'admin')?[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.show_admin_badge'))+\"\\n \")]:_vm._e(),_vm._v(\" \"),(_vm.role === 'moderator')?[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.show_moderator_badge'))+\"\\n \")]:_vm._e()],2)],1):_vm._e(),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.discoverable),callback:function ($$v) {_vm.discoverable=$$v},expression:\"discoverable\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.discoverable'))+\"\\n \")])],1),_vm._v(\" \"),(_vm.maxFields > 0)?_c('div',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.profile_fields.label')))]),_vm._v(\" \"),_vm._l((_vm.newFields),function(_,i){return _c('div',{key:i,staticClass:\"profile-fields\"},[_c('EmojiInput',{attrs:{\"enable-emoji-picker\":\"\",\"hide-emoji-button\":\"\",\"suggest\":_vm.userSuggestor},model:{value:(_vm.newFields[i].name),callback:function ($$v) {_vm.$set(_vm.newFields[i], \"name\", $$v)},expression:\"newFields[i].name\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newFields[i].name),expression:\"newFields[i].name\"}],attrs:{\"placeholder\":_vm.$t('settings.profile_fields.name')},domProps:{\"value\":(_vm.newFields[i].name)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newFields[i], \"name\", $event.target.value)}}})]),_vm._v(\" \"),_c('EmojiInput',{attrs:{\"enable-emoji-picker\":\"\",\"hide-emoji-button\":\"\",\"suggest\":_vm.userSuggestor},model:{value:(_vm.newFields[i].value),callback:function ($$v) {_vm.$set(_vm.newFields[i], \"value\", $$v)},expression:\"newFields[i].value\"}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.newFields[i].value),expression:\"newFields[i].value\"}],attrs:{\"placeholder\":_vm.$t('settings.profile_fields.value')},domProps:{\"value\":(_vm.newFields[i].value)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.newFields[i], \"value\", $event.target.value)}}})]),_vm._v(\" \"),_c('button',{staticClass:\"delete-field button-unstyled -hover-highlight\",on:{\"click\":function($event){return _vm.deleteField(i)}}},[_c('FAIcon',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.newFields.length > 1),expression:\"newFields.length > 1\"}],attrs:{\"icon\":\"times\"}})],1)],1)}),_vm._v(\" \"),(_vm.newFields.length < _vm.maxFields)?_c('button',{staticClass:\"add-field faint button-unstyled -hover-highlight\",on:{\"click\":_vm.addField}},[_c('FAIcon',{attrs:{\"icon\":\"plus\"}}),_vm._v(\"\\n \"+_vm._s(_vm.$t(\"settings.profile_fields.add_field\"))+\"\\n \")],1):_vm._e()],2):_vm._e(),_vm._v(\" \"),_c('p',[_c('Checkbox',{model:{value:(_vm.bot),callback:function ($$v) {_vm.bot=$$v},expression:\"bot\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.bot'))+\"\\n \")])],1),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":_vm.newName && _vm.newName.length === 0},on:{\"click\":_vm.updateProfile}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.save'))+\"\\n \")])],1),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.avatar')))]),_vm._v(\" \"),_c('p',{staticClass:\"visibility-notice\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.avatar_size_instruction'))+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"current-avatar-container\"},[_c('img',{staticClass:\"current-avatar\",attrs:{\"src\":_vm.user.profile_image_url_original}}),_vm._v(\" \"),(!_vm.isDefaultAvatar && _vm.pickAvatarBtnVisible)?_c('FAIcon',{staticClass:\"reset-button\",attrs:{\"title\":_vm.$t('settings.reset_avatar'),\"icon\":\"times\",\"type\":\"button\"},on:{\"click\":_vm.resetAvatar}}):_vm._e()],1),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.set_new_avatar')))]),_vm._v(\" \"),_c('button',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.pickAvatarBtnVisible),expression:\"pickAvatarBtnVisible\"}],staticClass:\"button-default btn\",attrs:{\"id\":\"pick-avatar\",\"type\":\"button\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.upload_a_photo'))+\"\\n \")]),_vm._v(\" \"),_c('image-cropper',{attrs:{\"trigger\":\"#pick-avatar\",\"submit-handler\":_vm.submitAvatar},on:{\"open\":function($event){_vm.pickAvatarBtnVisible=false},\"close\":function($event){_vm.pickAvatarBtnVisible=true}}})],1),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.profile_banner')))]),_vm._v(\" \"),_c('div',{staticClass:\"banner-background-preview\"},[_c('img',{attrs:{\"src\":_vm.user.cover_photo}}),_vm._v(\" \"),(!_vm.isDefaultBanner)?_c('FAIcon',{staticClass:\"reset-button\",attrs:{\"title\":_vm.$t('settings.reset_profile_banner'),\"icon\":\"times\",\"type\":\"button\"},on:{\"click\":_vm.resetBanner}}):_vm._e()],1),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.set_new_profile_banner')))]),_vm._v(\" \"),(_vm.bannerPreview)?_c('img',{staticClass:\"banner-background-preview\",attrs:{\"src\":_vm.bannerPreview}}):_vm._e(),_vm._v(\" \"),_c('div',[_c('input',{attrs:{\"type\":\"file\"},on:{\"change\":function($event){return _vm.uploadFile('banner', $event)}}})]),_vm._v(\" \"),(_vm.bannerUploading)?_c('FAIcon',{staticClass:\"uploading\",attrs:{\"spin\":\"\",\"icon\":\"circle-notch\"}}):(_vm.bannerPreview)?_c('button',{staticClass:\"btn button-default\",on:{\"click\":function($event){return _vm.submitBanner(_vm.banner)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.save'))+\"\\n \")]):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.profile_background')))]),_vm._v(\" \"),_c('div',{staticClass:\"banner-background-preview\"},[_c('img',{attrs:{\"src\":_vm.user.background_image}}),_vm._v(\" \"),(!_vm.isDefaultBackground)?_c('FAIcon',{staticClass:\"reset-button\",attrs:{\"title\":_vm.$t('settings.reset_profile_background'),\"icon\":\"times\",\"type\":\"button\"},on:{\"click\":_vm.resetBackground}}):_vm._e()],1),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.set_new_profile_background')))]),_vm._v(\" \"),(_vm.backgroundPreview)?_c('img',{staticClass:\"banner-background-preview\",attrs:{\"src\":_vm.backgroundPreview}}):_vm._e(),_vm._v(\" \"),_c('div',[_c('input',{attrs:{\"type\":\"file\"},on:{\"change\":function($event){return _vm.uploadFile('background', $event)}}})]),_vm._v(\" \"),(_vm.backgroundUploading)?_c('FAIcon',{staticClass:\"uploading\",attrs:{\"spin\":\"\",\"icon\":\"circle-notch\"}}):(_vm.backgroundPreview)?_c('button',{staticClass:\"btn button-default\",on:{\"click\":function($event){return _vm.submitBackground(_vm.background)}}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.save'))+\"\\n \")]):_vm._e()],1)])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","\n\n\n","/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./interface_language_switcher.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./interface_language_switcher.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-72cb1bd2\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./interface_language_switcher.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('label',{attrs:{\"for\":\"interface-language-switcher\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.interfaceLanguage'))+\"\\n \")]),_vm._v(\" \"),_c('Select',{attrs:{\"id\":\"interface-language-switcher\"},model:{value:(_vm.language),callback:function ($$v) {_vm.language=$$v},expression:\"language\"}},_vm._l((_vm.languages),function(lang){return _c('option',{key:lang.code,domProps:{\"value\":lang.code}},[_vm._v(\"\\n \"+_vm._s(lang.name)+\"\\n \")])}),0)],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import BooleanSetting from '../helpers/boolean_setting.vue'\nimport ChoiceSetting from '../helpers/choice_setting.vue'\nimport InterfaceLanguageSwitcher from 'src/components/interface_language_switcher/interface_language_switcher.vue'\n\nimport SharedComputedObject from '../helpers/shared_computed_object.js'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faGlobe\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faGlobe\n)\n\nconst GeneralTab = {\n data () {\n return {\n subjectLineOptions: ['email', 'noop', 'masto'].map(mode => ({\n key: mode,\n value: mode,\n label: this.$t(`settings.subject_line_${mode === 'masto' ? 'mastodon' : mode}`)\n })),\n loopSilentAvailable:\n // Firefox\n Object.getOwnPropertyDescriptor(HTMLVideoElement.prototype, 'mozHasAudio') ||\n // Chrome-likes\n Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype, 'webkitAudioDecodedByteCount') ||\n // Future spec, still not supported in Nightly 63 as of 08/2018\n Object.getOwnPropertyDescriptor(HTMLMediaElement.prototype, 'audioTracks')\n }\n },\n components: {\n BooleanSetting,\n ChoiceSetting,\n InterfaceLanguageSwitcher\n },\n computed: {\n postFormats () {\n return this.$store.state.instance.postFormats || []\n },\n postContentOptions () {\n return this.postFormats.map(format => ({\n key: format,\n value: format,\n label: this.$t(`post_status.content_type[\"${format}\"]`)\n }))\n },\n instanceSpecificPanelPresent () { return this.$store.state.instance.showInstanceSpecificPanel },\n instanceWallpaperUsed () {\n return this.$store.state.instance.background &&\n !this.$store.state.users.currentUser.background_image\n },\n instanceShoutboxPresent () { return this.$store.state.instance.shoutAvailable },\n ...SharedComputedObject()\n }\n}\n\nexport default GeneralTab\n","/* script */\nexport * from \"!!babel-loader!./general_tab.js\"\nimport __vue_script__ from \"!!babel-loader!./general_tab.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-21a572b4\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./general_tab.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"label\":_vm.$t('settings.general')}},[_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.interface')))]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('interface-language-switcher')],1),_vm._v(\" \"),(_vm.instanceSpecificPanelPresent)?_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"hideISP\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_isp'))+\"\\n \")])],1):_vm._e(),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"sidebarRight\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.right_sidebar'))+\"\\n \")])],1),_vm._v(\" \"),(_vm.instanceWallpaperUsed)?_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"hideInstanceWallpaper\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_wallpaper'))+\"\\n \")])],1):_vm._e(),_vm._v(\" \"),(_vm.instanceShoutboxPresent)?_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"hideShoutbox\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_shoutbox'))+\"\\n \")])],1):_vm._e()])]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('nav.timeline')))]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"hideMutedPosts\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_muted_posts'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"collapseMessageWithSubject\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.collapse_subject'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"streaming\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.streaming'))+\"\\n \")]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list suboptions\",class:[{disabled: !_vm.streaming}]},[_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"pauseOnUnfocused\",\"disabled\":!_vm.streaming}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.pause_on_unfocused'))+\"\\n \")])],1)])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"useStreamingApi\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.useStreamingApi'))+\"\\n \"),_c('br'),_vm._v(\" \"),_c('small',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.useStreamingApiWarning'))+\"\\n \")])])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"emojiReactionsOnTimeline\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.emoji_reactions_on_timeline'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"virtualScrolling\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.virtual_scrolling'))+\"\\n \")])],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.composing')))]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"scopeCopy\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.scope_copy'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"alwaysShowSubjectInput\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.subject_input_always_show'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('ChoiceSetting',{attrs:{\"id\":\"subjectLineBehavior\",\"path\":\"subjectLineBehavior\",\"options\":_vm.subjectLineOptions}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.subject_line_behavior'))+\"\\n \")])],1),_vm._v(\" \"),(_vm.postFormats.length > 0)?_c('li',[_c('ChoiceSetting',{attrs:{\"id\":\"postContentType\",\"path\":\"postContentType\",\"options\":_vm.postContentOptions}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.post_status_content_type'))+\"\\n \")])],1):_vm._e(),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"minimalScopesMode\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.minimal_scopes_mode'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"sensitiveByDefault\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.sensitive_by_default'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"alwaysShowNewPostButton\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.always_show_post_button'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"autohideFloatingPostButton\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.autohide_floating_post_button'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"padEmoji\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.pad_emoji'))+\"\\n \")])],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.attachments')))]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"hideAttachments\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_attachments_in_tl'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"hideAttachmentsInConv\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.hide_attachments_in_convo'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('label',{attrs:{\"for\":\"maxThumbnails\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.max_thumbnails'))+\"\\n \")]),_vm._v(\" \"),_c('input',{staticClass:\"number-input\",attrs:{\"id\":\"maxThumbnails\",\"path.number\":\"maxThumbnails\",\"type\":\"number\",\"min\":\"0\",\"step\":\"1\"}})]),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"hideNsfw\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.nsfw_clickthrough'))+\"\\n \")])],1),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list suboptions\"},[_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"preloadImage\",\"disabled\":!_vm.hideNsfw}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.preload_images'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"useOneClickNsfw\",\"disabled\":!_vm.hideNsfw}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.use_one_click_nsfw'))+\"\\n \")])],1)]),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"stopGifs\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.stop_gifs'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"loopVideo\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.loop_video'))+\"\\n \")]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list suboptions\",class:[{disabled: !_vm.streaming}]},[_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"loopVideoSilentOnly\",\"disabled\":!_vm.loopVideo || !_vm.loopSilentAvailable}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.loop_video_silent_only'))+\"\\n \")]),_vm._v(\" \"),(!_vm.loopSilentAvailable)?_c('div',{staticClass:\"unavailable\"},[_c('FAIcon',{attrs:{\"icon\":\"globe\"}}),_vm._v(\"! \"+_vm._s(_vm.$t('settings.limited_availability'))+\"\\n \")],1):_vm._e()],1)])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"playVideosInModal\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.play_videos_in_modal'))+\"\\n \")])],1),_vm._v(\" \"),_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"useContainFit\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.use_contain_fit'))+\"\\n \")])],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.notifications')))]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"webPushNotifications\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.enable_web_push_notifications'))+\"\\n \")])],1)])]),_vm._v(\" \"),_c('div',{staticClass:\"setting-item\"},[_c('h2',[_vm._v(_vm._s(_vm.$t('settings.fun')))]),_vm._v(\" \"),_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('BooleanSetting',{attrs:{\"path\":\"greentext\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.greentext'))+\"\\n \")])],1)])])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import { extractCommit } from 'src/services/version/version.service'\n\nconst pleromaFeCommitUrl = 'https://git.pleroma.social/pleroma/pleroma-fe/commit/'\nconst pleromaBeCommitUrl = 'https://git.pleroma.social/pleroma/pleroma/commit/'\n\nconst VersionTab = {\n data () {\n const instance = this.$store.state.instance\n return {\n backendVersion: instance.backendVersion,\n frontendVersion: instance.frontendVersion\n }\n },\n computed: {\n frontendVersionLink () {\n return pleromaFeCommitUrl + this.frontendVersion\n },\n backendVersionLink () {\n return pleromaBeCommitUrl + extractCommit(this.backendVersion)\n }\n }\n}\n\nexport default VersionTab\n","\nexport const extractCommit = versionString => {\n const regex = /-g(\\w+)/i\n const matches = versionString.match(regex)\n return matches ? matches[1] : ''\n}\n","/* script */\nexport * from \"!!babel-loader!./version_tab.js\"\nimport __vue_script__ from \"!!babel-loader!./version_tab.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-ce257d26\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./version_tab.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"label\":_vm.$t('settings.version.title')}},[_c('div',{staticClass:\"setting-item\"},[_c('ul',{staticClass:\"setting-list\"},[_c('li',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.version.backend_version')))]),_vm._v(\" \"),_c('ul',{staticClass:\"option-list\"},[_c('li',[_c('a',{attrs:{\"href\":_vm.backendVersionLink,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.backendVersion))])])])]),_vm._v(\" \"),_c('li',[_c('p',[_vm._v(_vm._s(_vm.$t('settings.version.frontend_version')))]),_vm._v(\" \"),_c('ul',{staticClass:\"option-list\"},[_c('li',[_c('a',{attrs:{\"href\":_vm.frontendVersionLink,\"target\":\"_blank\"}},[_vm._v(_vm._s(_vm.frontendVersion))])])])])])])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","\n\n\n\n\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!./color_input.scss\")\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=1!./color_input.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./color_input.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./color_input.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-77e407b6\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./color_input.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"color-input style-control\",class:{ disabled: !_vm.present || _vm.disabled }},[_c('label',{staticClass:\"label\",attrs:{\"for\":_vm.name}},[_vm._v(\"\\n \"+_vm._s(_vm.label)+\"\\n \")]),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined' && _vm.showOptionalTickbox)?_c('Checkbox',{staticClass:\"opt\",attrs:{\"checked\":_vm.present,\"disabled\":_vm.disabled},on:{\"change\":function($event){return _vm.$emit('input', typeof _vm.value === 'undefined' ? _vm.fallback : undefined)}}}):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"input color-input-field\"},[_c('input',{staticClass:\"textColor unstyled\",attrs:{\"id\":_vm.name + '-t',\"type\":\"text\",\"disabled\":!_vm.present || _vm.disabled},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}}),_vm._v(\" \"),(_vm.validColor)?_c('input',{staticClass:\"nativeColor unstyled\",attrs:{\"id\":_vm.name,\"type\":\"color\",\"disabled\":!_vm.present || _vm.disabled},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}}):_vm._e(),_vm._v(\" \"),(_vm.transparentColor)?_c('div',{staticClass:\"transparentIndicator\"}):_vm._e(),_vm._v(\" \"),(_vm.computedColor)?_c('div',{staticClass:\"computedIndicator\",style:({backgroundColor: _vm.fallback})}):_vm._e()])],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./range_input.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./range_input.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6a3c1a26\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./range_input.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","\n\n\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"range-control style-control\",class:{ disabled: !_vm.present || _vm.disabled }},[_c('label',{staticClass:\"label\",attrs:{\"for\":_vm.name}},[_vm._v(\"\\n \"+_vm._s(_vm.label)+\"\\n \")]),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('input',{staticClass:\"opt\",attrs:{\"id\":_vm.name + '-o',\"type\":\"checkbox\"},domProps:{\"checked\":_vm.present},on:{\"input\":function($event){return _vm.$emit('input', !_vm.present ? _vm.fallback : undefined)}}}):_vm._e(),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('label',{staticClass:\"opt-l\",attrs:{\"for\":_vm.name + '-o'}}):_vm._e(),_vm._v(\" \"),_c('input',{staticClass:\"input-number\",attrs:{\"id\":_vm.name,\"type\":\"range\",\"disabled\":!_vm.present || _vm.disabled,\"max\":_vm.max || _vm.hardMax || 100,\"min\":_vm.min || _vm.hardMin || 0,\"step\":_vm.step || 1},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}}),_vm._v(\" \"),_c('input',{staticClass:\"input-number\",attrs:{\"id\":_vm.name,\"type\":\"number\",\"disabled\":!_vm.present || _vm.disabled,\"max\":_vm.hardMax,\"min\":_vm.hardMin,\"step\":_vm.step || 1},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}})])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","\n\n\n","/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./opacity_input.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./opacity_input.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3b48fa39\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./opacity_input.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"opacity-control style-control\",class:{ disabled: !_vm.present || _vm.disabled }},[_c('label',{staticClass:\"label\",attrs:{\"for\":_vm.name}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.common.opacity'))+\"\\n \")]),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('Checkbox',{staticClass:\"opt\",attrs:{\"checked\":_vm.present,\"disabled\":_vm.disabled},on:{\"change\":function($event){return _vm.$emit('input', !_vm.present ? _vm.fallback : undefined)}}}):_vm._e(),_vm._v(\" \"),_c('input',{staticClass:\"input-number\",attrs:{\"id\":_vm.name,\"type\":\"number\",\"disabled\":!_vm.present || _vm.disabled,\"max\":\"1\",\"min\":\"0\",\"step\":\".05\"},domProps:{\"value\":_vm.value || _vm.fallback},on:{\"input\":function($event){return _vm.$emit('input', $event.target.value)}}})],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import ColorInput from '../color_input/color_input.vue'\nimport OpacityInput from '../opacity_input/opacity_input.vue'\nimport Select from '../select/select.vue'\nimport { getCssShadow } from '../../services/style_setter/style_setter.js'\nimport { hex2rgb } from '../../services/color_convert/color_convert.js'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faTimes,\n faChevronDown,\n faChevronUp,\n faPlus\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faChevronDown,\n faChevronUp,\n faTimes,\n faPlus\n)\n\nconst toModel = (object = {}) => ({\n x: 0,\n y: 0,\n blur: 0,\n spread: 0,\n inset: false,\n color: '#000000',\n alpha: 1,\n ...object\n})\n\nexport default {\n // 'Value' and 'Fallback' can be undefined, but if they are\n // initially vue won't detect it when they become something else\n // therefore i'm using \"ready\" which should be passed as true when\n // data becomes available\n props: [\n 'value', 'fallback', 'ready'\n ],\n data () {\n return {\n selectedId: 0,\n // TODO there are some bugs regarding display of array (it's not getting updated when deleting for some reason)\n cValue: (this.value || this.fallback || []).map(toModel)\n }\n },\n components: {\n ColorInput,\n OpacityInput,\n Select\n },\n methods: {\n add () {\n this.cValue.push(toModel(this.selected))\n this.selectedId = this.cValue.length - 1\n },\n del () {\n this.cValue.splice(this.selectedId, 1)\n this.selectedId = this.cValue.length === 0 ? undefined : Math.max(this.selectedId - 1, 0)\n },\n moveUp () {\n const movable = this.cValue.splice(this.selectedId, 1)[0]\n this.cValue.splice(this.selectedId - 1, 0, movable)\n this.selectedId -= 1\n },\n moveDn () {\n const movable = this.cValue.splice(this.selectedId, 1)[0]\n this.cValue.splice(this.selectedId + 1, 0, movable)\n this.selectedId += 1\n }\n },\n beforeUpdate () {\n this.cValue = this.value || this.fallback\n },\n computed: {\n anyShadows () {\n return this.cValue.length > 0\n },\n anyShadowsFallback () {\n return this.fallback.length > 0\n },\n selected () {\n if (this.ready && this.anyShadows) {\n return this.cValue[this.selectedId]\n } else {\n return toModel({})\n }\n },\n currentFallback () {\n if (this.ready && this.anyShadowsFallback) {\n return this.fallback[this.selectedId]\n } else {\n return toModel({})\n }\n },\n moveUpValid () {\n return this.ready && this.selectedId > 0\n },\n moveDnValid () {\n return this.ready && this.selectedId < this.cValue.length - 1\n },\n present () {\n return this.ready &&\n typeof this.cValue[this.selectedId] !== 'undefined' &&\n !this.usingFallback\n },\n usingFallback () {\n return typeof this.value === 'undefined'\n },\n rgb () {\n return hex2rgb(this.selected.color)\n },\n style () {\n return this.ready ? {\n boxShadow: getCssShadow(this.fallback)\n } : {}\n }\n }\n}\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./shadow_control.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./shadow_control.js\"\nimport __vue_script__ from \"!!babel-loader!./shadow_control.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-ee55a534\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./shadow_control.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"shadow-control\",class:{ disabled: !_vm.present }},[_c('div',{staticClass:\"shadow-preview-container\"},[_c('div',{staticClass:\"y-shift-control\",attrs:{\"disabled\":!_vm.present}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.y),expression:\"selected.y\"}],staticClass:\"input-number\",attrs:{\"disabled\":!_vm.present,\"type\":\"number\"},domProps:{\"value\":(_vm.selected.y)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selected, \"y\", $event.target.value)}}}),_vm._v(\" \"),_c('div',{staticClass:\"wrap\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.y),expression:\"selected.y\"}],staticClass:\"input-range\",attrs:{\"disabled\":!_vm.present,\"type\":\"range\",\"max\":\"20\",\"min\":\"-20\"},domProps:{\"value\":(_vm.selected.y)},on:{\"__r\":function($event){return _vm.$set(_vm.selected, \"y\", $event.target.value)}}})])]),_vm._v(\" \"),_c('div',{staticClass:\"preview-window\"},[_c('div',{staticClass:\"preview-block\",style:(_vm.style)})]),_vm._v(\" \"),_c('div',{staticClass:\"x-shift-control\",attrs:{\"disabled\":!_vm.present}},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.x),expression:\"selected.x\"}],staticClass:\"input-number\",attrs:{\"disabled\":!_vm.present,\"type\":\"number\"},domProps:{\"value\":(_vm.selected.x)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selected, \"x\", $event.target.value)}}}),_vm._v(\" \"),_c('div',{staticClass:\"wrap\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.x),expression:\"selected.x\"}],staticClass:\"input-range\",attrs:{\"disabled\":!_vm.present,\"type\":\"range\",\"max\":\"20\",\"min\":\"-20\"},domProps:{\"value\":(_vm.selected.x)},on:{\"__r\":function($event){return _vm.$set(_vm.selected, \"x\", $event.target.value)}}})])])]),_vm._v(\" \"),_c('div',{staticClass:\"shadow-tweak\"},[_c('div',{staticClass:\"id-control style-control\",attrs:{\"disabled\":_vm.usingFallback}},[_c('Select',{staticClass:\"shadow-switcher\",attrs:{\"id\":\"shadow-switcher\",\"disabled\":!_vm.ready || _vm.usingFallback},model:{value:(_vm.selectedId),callback:function ($$v) {_vm.selectedId=$$v},expression:\"selectedId\"}},_vm._l((_vm.cValue),function(shadow,index){return _c('option',{key:index,domProps:{\"value\":index}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.shadow_id', { value: index }))+\"\\n \")])}),0),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":!_vm.ready || !_vm.present},on:{\"click\":_vm.del}},[_c('FAIcon',{attrs:{\"fixed-width\":\"\",\"icon\":\"times\"}})],1),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":!_vm.moveUpValid},on:{\"click\":_vm.moveUp}},[_c('FAIcon',{attrs:{\"fixed-width\":\"\",\"icon\":\"chevron-up\"}})],1),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":!_vm.moveDnValid},on:{\"click\":_vm.moveDn}},[_c('FAIcon',{attrs:{\"fixed-width\":\"\",\"icon\":\"chevron-down\"}})],1),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",attrs:{\"disabled\":_vm.usingFallback},on:{\"click\":_vm.add}},[_c('FAIcon',{attrs:{\"fixed-width\":\"\",\"icon\":\"plus\"}})],1)],1),_vm._v(\" \"),_c('div',{staticClass:\"inset-control style-control\",attrs:{\"disabled\":!_vm.present}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"inset\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.inset'))+\"\\n \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.inset),expression:\"selected.inset\"}],staticClass:\"input-inset\",attrs:{\"id\":\"inset\",\"disabled\":!_vm.present,\"name\":\"inset\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.selected.inset)?_vm._i(_vm.selected.inset,null)>-1:(_vm.selected.inset)},on:{\"change\":function($event){var $$a=_vm.selected.inset,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(_vm.selected, \"inset\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(_vm.selected, \"inset\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(_vm.selected, \"inset\", $$c)}}}}),_vm._v(\" \"),_c('label',{staticClass:\"checkbox-label\",attrs:{\"for\":\"inset\"}})]),_vm._v(\" \"),_c('div',{staticClass:\"blur-control style-control\",attrs:{\"disabled\":!_vm.present}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"spread\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.blur'))+\"\\n \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.blur),expression:\"selected.blur\"}],staticClass:\"input-range\",attrs:{\"id\":\"blur\",\"disabled\":!_vm.present,\"name\":\"blur\",\"type\":\"range\",\"max\":\"20\",\"min\":\"0\"},domProps:{\"value\":(_vm.selected.blur)},on:{\"__r\":function($event){return _vm.$set(_vm.selected, \"blur\", $event.target.value)}}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.blur),expression:\"selected.blur\"}],staticClass:\"input-number\",attrs:{\"disabled\":!_vm.present,\"type\":\"number\",\"min\":\"0\"},domProps:{\"value\":(_vm.selected.blur)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selected, \"blur\", $event.target.value)}}})]),_vm._v(\" \"),_c('div',{staticClass:\"spread-control style-control\",attrs:{\"disabled\":!_vm.present}},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"spread\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.spread'))+\"\\n \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.spread),expression:\"selected.spread\"}],staticClass:\"input-range\",attrs:{\"id\":\"spread\",\"disabled\":!_vm.present,\"name\":\"spread\",\"type\":\"range\",\"max\":\"20\",\"min\":\"-20\"},domProps:{\"value\":(_vm.selected.spread)},on:{\"__r\":function($event){return _vm.$set(_vm.selected, \"spread\", $event.target.value)}}}),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.selected.spread),expression:\"selected.spread\"}],staticClass:\"input-number\",attrs:{\"disabled\":!_vm.present,\"type\":\"number\"},domProps:{\"value\":(_vm.selected.spread)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.$set(_vm.selected, \"spread\", $event.target.value)}}})]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"disabled\":!_vm.present,\"label\":_vm.$t('settings.style.common.color'),\"fallback\":_vm.currentFallback.color,\"show-optional-tickbox\":false,\"name\":\"shadow\"},model:{value:(_vm.selected.color),callback:function ($$v) {_vm.$set(_vm.selected, \"color\", $$v)},expression:\"selected.color\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"disabled\":!_vm.present},model:{value:(_vm.selected.alpha),callback:function ($$v) {_vm.$set(_vm.selected, \"alpha\", $$v)},expression:\"selected.alpha\"}}),_vm._v(\" \"),_c('i18n',{attrs:{\"path\":\"settings.style.shadows.hintV3\",\"tag\":\"p\"}},[_c('code',[_vm._v(\"--variable,mod\")])])],1)])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import { set } from 'vue'\nimport Select from '../select/select.vue'\n\nexport default {\n components: {\n Select\n },\n props: [\n 'name', 'label', 'value', 'fallback', 'options', 'no-inherit'\n ],\n data () {\n return {\n lValue: this.value,\n availableOptions: [\n this.noInherit ? '' : 'inherit',\n 'custom',\n ...(this.options || []),\n 'serif',\n 'monospace',\n 'sans-serif'\n ].filter(_ => _)\n }\n },\n beforeUpdate () {\n this.lValue = this.value\n },\n computed: {\n present () {\n return typeof this.lValue !== 'undefined'\n },\n dValue () {\n return this.lValue || this.fallback || {}\n },\n family: {\n get () {\n return this.dValue.family\n },\n set (v) {\n set(this.lValue, 'family', v)\n this.$emit('input', this.lValue)\n }\n },\n isCustom () {\n return this.preset === 'custom'\n },\n preset: {\n get () {\n if (this.family === 'serif' ||\n this.family === 'sans-serif' ||\n this.family === 'monospace' ||\n this.family === 'inherit') {\n return this.family\n } else {\n return 'custom'\n }\n },\n set (v) {\n this.family = v === 'custom' ? '' : v\n }\n }\n }\n}\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./font_control.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./font_control.js\"\nimport __vue_script__ from \"!!babel-loader!./font_control.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-132a42de\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./font_control.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"font-control style-control\",class:{ custom: _vm.isCustom }},[_c('label',{staticClass:\"label\",attrs:{\"for\":_vm.preset === 'custom' ? _vm.name : _vm.name + '-font-switcher'}},[_vm._v(\"\\n \"+_vm._s(_vm.label)+\"\\n \")]),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('input',{staticClass:\"opt exlcude-disabled\",attrs:{\"id\":_vm.name + '-o',\"type\":\"checkbox\"},domProps:{\"checked\":_vm.present},on:{\"input\":function($event){return _vm.$emit('input', typeof _vm.value === 'undefined' ? _vm.fallback : undefined)}}}):_vm._e(),_vm._v(\" \"),(typeof _vm.fallback !== 'undefined')?_c('label',{staticClass:\"opt-l\",attrs:{\"for\":_vm.name + '-o'}}):_vm._e(),_vm._v(\" \"),_c('Select',{staticClass:\"font-switcher\",attrs:{\"id\":_vm.name + '-font-switcher',\"disabled\":!_vm.present},model:{value:(_vm.preset),callback:function ($$v) {_vm.preset=$$v},expression:\"preset\"}},_vm._l((_vm.availableOptions),function(option){return _c('option',{key:option,domProps:{\"value\":option}},[_vm._v(\"\\n \"+_vm._s(option === 'custom' ? _vm.$t('settings.style.fonts.custom') : option)+\"\\n \")])}),0),_vm._v(\" \"),(_vm.isCustom)?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.family),expression:\"family\"}],staticClass:\"custom-font\",attrs:{\"id\":_vm.name,\"type\":\"text\"},domProps:{\"value\":(_vm.family)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.family=$event.target.value}}}):_vm._e()],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","\n\n\n\n\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./contrast_ratio.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./contrast_ratio.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./contrast_ratio.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-6d90b7c4\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./contrast_ratio.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.contrast)?_c('span',{staticClass:\"contrast-ratio\"},[_c('span',{staticClass:\"rating\",attrs:{\"title\":_vm.hint}},[(_vm.contrast.aaa)?_c('span',[_c('FAIcon',{attrs:{\"icon\":\"thumbs-up\"}})],1):_vm._e(),_vm._v(\" \"),(!_vm.contrast.aaa && _vm.contrast.aa)?_c('span',[_c('FAIcon',{attrs:{\"icon\":\"adjust\"}})],1):_vm._e(),_vm._v(\" \"),(!_vm.contrast.aaa && !_vm.contrast.aa)?_c('span',[_c('FAIcon',{attrs:{\"icon\":\"exclamation-triangle\"}})],1):_vm._e()]),_vm._v(\" \"),(_vm.contrast && _vm.large)?_c('span',{staticClass:\"rating\",attrs:{\"title\":_vm.hint_18pt}},[(_vm.contrast.laaa)?_c('span',[_c('FAIcon',{attrs:{\"icon\":\"thumbs-up\"}})],1):_vm._e(),_vm._v(\" \"),(!_vm.contrast.laaa && _vm.contrast.laa)?_c('span',[_c('FAIcon',{attrs:{\"icon\":\"adjust\"}})],1):_vm._e(),_vm._v(\" \"),(!_vm.contrast.laaa && !_vm.contrast.laa)?_c('span',[_c('FAIcon',{attrs:{\"icon\":\"exclamation-triangle\"}})],1):_vm._e()]):_vm._e()]):_vm._e()}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","\n\n\n\n\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./preview.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./preview.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../../../node_modules/vue-loader/lib/selector?type=script&index=0!./preview.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-1d0bb165\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./preview.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"preview-container\"},[_c('div',{staticClass:\"underlay underlay-preview\"}),_vm._v(\" \"),_c('div',{staticClass:\"panel dummy\"},[_c('div',{staticClass:\"panel-heading\"},[_c('div',{staticClass:\"title\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.header'))+\"\\n \"),_c('span',{staticClass:\"badge badge-notification\"},[_vm._v(\"\\n 99\\n \")])]),_vm._v(\" \"),_c('span',{staticClass:\"faint\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.header_faint'))+\"\\n \")]),_vm._v(\" \"),_c('span',{staticClass:\"alert error\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.error'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.button'))+\"\\n \")])]),_vm._v(\" \"),_c('div',{staticClass:\"panel-body theme-preview-content\"},[_c('div',{staticClass:\"post\"},[_c('div',{staticClass:\"avatar still-image\"},[_vm._v(\"\\n ( ͡° ͜ʖ ͡°)\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"content\"},[_c('h4',[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.content'))+\"\\n \")]),_vm._v(\" \"),_c('i18n',{attrs:{\"path\":\"settings.style.preview.text\"}},[_c('code',{staticStyle:{\"font-family\":\"var(--postCodeFont)\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.mono'))+\"\\n \")]),_vm._v(\" \"),_c('a',{staticStyle:{\"color\":\"var(--link)\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.link'))+\"\\n \")])]),_vm._v(\" \"),_c('div',{staticClass:\"icons\"},[_c('FAIcon',{staticClass:\"fa-scale-110 fa-old-padding\",staticStyle:{\"color\":\"var(--cBlue)\"},attrs:{\"fixed-width\":\"\",\"icon\":\"reply\"}}),_vm._v(\" \"),_c('FAIcon',{staticClass:\"fa-scale-110 fa-old-padding\",staticStyle:{\"color\":\"var(--cGreen)\"},attrs:{\"fixed-width\":\"\",\"icon\":\"retweet\"}}),_vm._v(\" \"),_c('FAIcon',{staticClass:\"fa-scale-110 fa-old-padding\",staticStyle:{\"color\":\"var(--cOrange)\"},attrs:{\"fixed-width\":\"\",\"icon\":\"star\"}}),_vm._v(\" \"),_c('FAIcon',{staticClass:\"fa-scale-110 fa-old-padding\",staticStyle:{\"color\":\"var(--cRed)\"},attrs:{\"fixed-width\":\"\",\"icon\":\"times\"}})],1)],1)]),_vm._v(\" \"),_c('div',{staticClass:\"after-post\"},[_c('div',{staticClass:\"avatar-alt\"},[_vm._v(\"\\n :^)\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"content\"},[_c('i18n',{staticClass:\"faint\",attrs:{\"path\":\"settings.style.preview.fine_print\",\"tag\":\"span\"}},[_c('a',{staticStyle:{\"color\":\"var(--faintLink)\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.faint_link'))+\"\\n \")])])],1)]),_vm._v(\" \"),_c('div',{staticClass:\"separator\"}),_vm._v(\" \"),_c('span',{staticClass:\"alert error\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.error'))+\"\\n \")]),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"text\"},domProps:{\"value\":_vm.$t('settings.style.preview.input')}}),_vm._v(\" \"),_c('div',{staticClass:\"actions\"},[_c('span',{staticClass:\"checkbox\"},[_c('input',{attrs:{\"id\":\"preview_checkbox\",\"checked\":\"very yes\",\"type\":\"checkbox\"}}),_vm._v(\" \"),_c('label',{attrs:{\"for\":\"preview_checkbox\"}},[_vm._v(_vm._s(_vm.$t('settings.style.preview.checkbox')))])]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.preview.button'))+\"\\n \")])])])])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import { set, delete as del } from 'vue'\nimport {\n rgb2hex,\n hex2rgb,\n getContrastRatioLayers\n} from 'src/services/color_convert/color_convert.js'\nimport {\n DEFAULT_SHADOWS,\n generateColors,\n generateShadows,\n generateRadii,\n generateFonts,\n composePreset,\n getThemes,\n shadows2to3,\n colors2to3\n} from 'src/services/style_setter/style_setter.js'\nimport {\n newImporter,\n newExporter\n} from 'src/services/export_import/export_import.js'\nimport {\n SLOT_INHERITANCE\n} from 'src/services/theme_data/pleromafe.js'\nimport {\n CURRENT_VERSION,\n OPACITIES,\n getLayers,\n getOpacitySlot\n} from 'src/services/theme_data/theme_data.service.js'\nimport ColorInput from 'src/components/color_input/color_input.vue'\nimport RangeInput from 'src/components/range_input/range_input.vue'\nimport OpacityInput from 'src/components/opacity_input/opacity_input.vue'\nimport ShadowControl from 'src/components/shadow_control/shadow_control.vue'\nimport FontControl from 'src/components/font_control/font_control.vue'\nimport ContrastRatio from 'src/components/contrast_ratio/contrast_ratio.vue'\nimport TabSwitcher from 'src/components/tab_switcher/tab_switcher.js'\nimport Checkbox from 'src/components/checkbox/checkbox.vue'\nimport Select from 'src/components/select/select.vue'\n\nimport Preview from './preview.vue'\n\n// List of color values used in v1\nconst v1OnlyNames = [\n 'bg',\n 'fg',\n 'text',\n 'link',\n 'cRed',\n 'cGreen',\n 'cBlue',\n 'cOrange'\n].map(_ => _ + 'ColorLocal')\n\nconst colorConvert = (color) => {\n if (color.startsWith('--') || color === 'transparent') {\n return color\n } else {\n return hex2rgb(color)\n }\n}\n\nexport default {\n data () {\n return {\n themeImporter: newImporter({\n validator: this.importValidator,\n onImport: this.onImport,\n onImportFailure: this.onImportFailure\n }),\n themeExporter: newExporter({\n filename: 'pleroma_theme',\n getExportedObject: () => this.exportedTheme\n }),\n availableStyles: [],\n selected: '',\n selectedTheme: this.$store.getters.mergedConfig.theme,\n themeWarning: undefined,\n tempImportFile: undefined,\n engineVersion: 0,\n\n previewShadows: {},\n previewColors: {},\n previewRadii: {},\n previewFonts: {},\n\n shadowsInvalid: true,\n colorsInvalid: true,\n radiiInvalid: true,\n\n keepColor: false,\n keepShadows: false,\n keepOpacity: false,\n keepRoundness: false,\n keepFonts: false,\n\n ...Object.keys(SLOT_INHERITANCE)\n .map(key => [key, ''])\n .reduce((acc, [key, val]) => ({ ...acc, [ key + 'ColorLocal' ]: val }), {}),\n\n ...Object.keys(OPACITIES)\n .map(key => [key, ''])\n .reduce((acc, [key, val]) => ({ ...acc, [ key + 'OpacityLocal' ]: val }), {}),\n\n shadowSelected: undefined,\n shadowsLocal: {},\n fontsLocal: {},\n\n btnRadiusLocal: '',\n inputRadiusLocal: '',\n checkboxRadiusLocal: '',\n panelRadiusLocal: '',\n avatarRadiusLocal: '',\n avatarAltRadiusLocal: '',\n attachmentRadiusLocal: '',\n tooltipRadiusLocal: '',\n chatMessageRadiusLocal: ''\n }\n },\n created () {\n const self = this\n\n getThemes()\n .then((promises) => {\n return Promise.all(\n Object.entries(promises)\n .map(([k, v]) => v.then(res => [k, res]))\n )\n })\n .then(themes => themes.reduce((acc, [k, v]) => {\n if (v) {\n return {\n ...acc,\n [k]: v\n }\n } else {\n return acc\n }\n }, {}))\n .then((themesComplete) => {\n self.availableStyles = themesComplete\n })\n },\n mounted () {\n this.loadThemeFromLocalStorage()\n if (typeof this.shadowSelected === 'undefined') {\n this.shadowSelected = this.shadowsAvailable[0]\n }\n },\n computed: {\n themeWarningHelp () {\n if (!this.themeWarning) return\n const t = this.$t\n const pre = 'settings.style.switcher.help.'\n const {\n origin,\n themeEngineVersion,\n type,\n noActionsPossible\n } = this.themeWarning\n if (origin === 'file') {\n // Loaded v2 theme from file\n if (themeEngineVersion === 2 && type === 'wrong_version') {\n return t(pre + 'v2_imported')\n }\n if (themeEngineVersion > CURRENT_VERSION) {\n return t(pre + 'future_version_imported') + ' ' +\n (\n noActionsPossible\n ? t(pre + 'snapshot_missing')\n : t(pre + 'snapshot_present')\n )\n }\n if (themeEngineVersion < CURRENT_VERSION) {\n return t(pre + 'future_version_imported') + ' ' +\n (\n noActionsPossible\n ? t(pre + 'snapshot_missing')\n : t(pre + 'snapshot_present')\n )\n }\n } else if (origin === 'localStorage') {\n if (type === 'snapshot_source_mismatch') {\n return t(pre + 'snapshot_source_mismatch')\n }\n // FE upgraded from v2\n if (themeEngineVersion === 2) {\n return t(pre + 'upgraded_from_v2')\n }\n // Admin downgraded FE\n if (themeEngineVersion > CURRENT_VERSION) {\n return t(pre + 'fe_downgraded') + ' ' +\n (\n noActionsPossible\n ? t(pre + 'migration_snapshot_ok')\n : t(pre + 'migration_snapshot_gone')\n )\n }\n // Admin upgraded FE\n if (themeEngineVersion < CURRENT_VERSION) {\n return t(pre + 'fe_upgraded') + ' ' +\n (\n noActionsPossible\n ? t(pre + 'migration_snapshot_ok')\n : t(pre + 'migration_snapshot_gone')\n )\n }\n }\n },\n selectedVersion () {\n return Array.isArray(this.selectedTheme) ? 1 : 2\n },\n currentColors () {\n return Object.keys(SLOT_INHERITANCE)\n .map(key => [key, this[key + 'ColorLocal']])\n .reduce((acc, [key, val]) => ({ ...acc, [ key ]: val }), {})\n },\n currentOpacity () {\n return Object.keys(OPACITIES)\n .map(key => [key, this[key + 'OpacityLocal']])\n .reduce((acc, [key, val]) => ({ ...acc, [ key ]: val }), {})\n },\n currentRadii () {\n return {\n btn: this.btnRadiusLocal,\n input: this.inputRadiusLocal,\n checkbox: this.checkboxRadiusLocal,\n panel: this.panelRadiusLocal,\n avatar: this.avatarRadiusLocal,\n avatarAlt: this.avatarAltRadiusLocal,\n tooltip: this.tooltipRadiusLocal,\n attachment: this.attachmentRadiusLocal,\n chatMessage: this.chatMessageRadiusLocal\n }\n },\n preview () {\n return composePreset(this.previewColors, this.previewRadii, this.previewShadows, this.previewFonts)\n },\n previewTheme () {\n if (!this.preview.theme.colors) return { colors: {}, opacity: {}, radii: {}, shadows: {}, fonts: {} }\n return this.preview.theme\n },\n // This needs optimization maybe\n previewContrast () {\n try {\n if (!this.previewTheme.colors.bg) return {}\n const colors = this.previewTheme.colors\n const opacity = this.previewTheme.opacity\n if (!colors.bg) return {}\n const hints = (ratio) => ({\n text: ratio.toPrecision(3) + ':1',\n // AA level, AAA level\n aa: ratio >= 4.5,\n aaa: ratio >= 7,\n // same but for 18pt+ texts\n laa: ratio >= 3,\n laaa: ratio >= 4.5\n })\n const colorsConverted = Object.entries(colors).reduce((acc, [key, value]) => ({ ...acc, [key]: colorConvert(value) }), {})\n\n const ratios = Object.entries(SLOT_INHERITANCE).reduce((acc, [key, value]) => {\n const slotIsBaseText = key === 'text' || key === 'link'\n const slotIsText = slotIsBaseText || (\n typeof value === 'object' && value !== null && value.textColor\n )\n if (!slotIsText) return acc\n const { layer, variant } = slotIsBaseText ? { layer: 'bg' } : value\n const background = variant || layer\n const opacitySlot = getOpacitySlot(background)\n const textColors = [\n key,\n ...(background === 'bg' ? ['cRed', 'cGreen', 'cBlue', 'cOrange'] : [])\n ]\n\n const layers = getLayers(\n layer,\n variant || layer,\n opacitySlot,\n colorsConverted,\n opacity\n )\n\n return {\n ...acc,\n ...textColors.reduce((acc, textColorKey) => {\n const newKey = slotIsBaseText\n ? 'bg' + textColorKey[0].toUpperCase() + textColorKey.slice(1)\n : textColorKey\n return {\n ...acc,\n [newKey]: getContrastRatioLayers(\n colorsConverted[textColorKey],\n layers,\n colorsConverted[textColorKey]\n )\n }\n }, {})\n }\n }, {})\n\n return Object.entries(ratios).reduce((acc, [k, v]) => { acc[k] = hints(v); return acc }, {})\n } catch (e) {\n console.warn('Failure computing contrasts', e)\n }\n },\n previewRules () {\n if (!this.preview.rules) return ''\n return [\n ...Object.values(this.preview.rules),\n 'color: var(--text)',\n 'font-family: var(--interfaceFont, sans-serif)'\n ].join(';')\n },\n shadowsAvailable () {\n return Object.keys(DEFAULT_SHADOWS).sort()\n },\n currentShadowOverriden: {\n get () {\n return !!this.currentShadow\n },\n set (val) {\n if (val) {\n set(this.shadowsLocal, this.shadowSelected, this.currentShadowFallback.map(_ => Object.assign({}, _)))\n } else {\n del(this.shadowsLocal, this.shadowSelected)\n }\n }\n },\n currentShadowFallback () {\n return (this.previewTheme.shadows || {})[this.shadowSelected]\n },\n currentShadow: {\n get () {\n return this.shadowsLocal[this.shadowSelected]\n },\n set (v) {\n set(this.shadowsLocal, this.shadowSelected, v)\n }\n },\n themeValid () {\n return !this.shadowsInvalid && !this.colorsInvalid && !this.radiiInvalid\n },\n exportedTheme () {\n const saveEverything = (\n !this.keepFonts &&\n !this.keepShadows &&\n !this.keepOpacity &&\n !this.keepRoundness &&\n !this.keepColor\n )\n\n const source = {\n themeEngineVersion: CURRENT_VERSION\n }\n\n if (this.keepFonts || saveEverything) {\n source.fonts = this.fontsLocal\n }\n if (this.keepShadows || saveEverything) {\n source.shadows = this.shadowsLocal\n }\n if (this.keepOpacity || saveEverything) {\n source.opacity = this.currentOpacity\n }\n if (this.keepColor || saveEverything) {\n source.colors = this.currentColors\n }\n if (this.keepRoundness || saveEverything) {\n source.radii = this.currentRadii\n }\n\n const theme = {\n themeEngineVersion: CURRENT_VERSION,\n ...this.previewTheme\n }\n\n return {\n // To separate from other random JSON files and possible future source formats\n _pleroma_theme_version: 2, theme, source\n }\n }\n },\n components: {\n ColorInput,\n OpacityInput,\n RangeInput,\n ContrastRatio,\n ShadowControl,\n FontControl,\n TabSwitcher,\n Preview,\n Checkbox,\n Select\n },\n methods: {\n loadTheme (\n {\n theme,\n source,\n _pleroma_theme_version: fileVersion\n },\n origin,\n forceUseSource = false\n ) {\n this.dismissWarning()\n if (!source && !theme) {\n throw new Error('Can\\'t load theme: empty')\n }\n const version = (origin === 'localStorage' && !theme.colors)\n ? 'l1'\n : fileVersion\n const snapshotEngineVersion = (theme || {}).themeEngineVersion\n const themeEngineVersion = (source || {}).themeEngineVersion || 2\n const versionsMatch = themeEngineVersion === CURRENT_VERSION\n const sourceSnapshotMismatch = (\n theme !== undefined &&\n source !== undefined &&\n themeEngineVersion !== snapshotEngineVersion\n )\n // Force loading of source if user requested it or if snapshot\n // is unavailable\n const forcedSourceLoad = (source && forceUseSource) || !theme\n if (!(versionsMatch && !sourceSnapshotMismatch) &&\n !forcedSourceLoad &&\n version !== 'l1' &&\n origin !== 'defaults'\n ) {\n if (sourceSnapshotMismatch && origin === 'localStorage') {\n this.themeWarning = {\n origin,\n themeEngineVersion,\n type: 'snapshot_source_mismatch'\n }\n } else if (!theme) {\n this.themeWarning = {\n origin,\n noActionsPossible: true,\n themeEngineVersion,\n type: 'no_snapshot_old_version'\n }\n } else if (!versionsMatch) {\n this.themeWarning = {\n origin,\n noActionsPossible: !source,\n themeEngineVersion,\n type: 'wrong_version'\n }\n }\n }\n this.normalizeLocalState(theme, version, source, forcedSourceLoad)\n },\n forceLoadLocalStorage () {\n this.loadThemeFromLocalStorage(true)\n },\n dismissWarning () {\n this.themeWarning = undefined\n this.tempImportFile = undefined\n },\n forceLoad () {\n const { origin } = this.themeWarning\n switch (origin) {\n case 'localStorage':\n this.loadThemeFromLocalStorage(true)\n break\n case 'file':\n this.onImport(this.tempImportFile, true)\n break\n }\n this.dismissWarning()\n },\n forceSnapshot () {\n const { origin } = this.themeWarning\n switch (origin) {\n case 'localStorage':\n this.loadThemeFromLocalStorage(false, true)\n break\n case 'file':\n console.error('Forcing snapshot from file is not supported yet')\n break\n }\n this.dismissWarning()\n },\n loadThemeFromLocalStorage (confirmLoadSource = false, forceSnapshot = false) {\n const {\n customTheme: theme,\n customThemeSource: source\n } = this.$store.getters.mergedConfig\n if (!theme && !source) {\n // Anon user or never touched themes\n this.loadTheme(\n this.$store.state.instance.themeData,\n 'defaults',\n confirmLoadSource\n )\n } else {\n this.loadTheme(\n {\n theme,\n source: forceSnapshot ? theme : source\n },\n 'localStorage',\n confirmLoadSource\n )\n }\n },\n setCustomTheme () {\n this.$store.dispatch('setOption', {\n name: 'customTheme',\n value: {\n themeEngineVersion: CURRENT_VERSION,\n ...this.previewTheme\n }\n })\n this.$store.dispatch('setOption', {\n name: 'customThemeSource',\n value: {\n themeEngineVersion: CURRENT_VERSION,\n shadows: this.shadowsLocal,\n fonts: this.fontsLocal,\n opacity: this.currentOpacity,\n colors: this.currentColors,\n radii: this.currentRadii\n }\n })\n },\n updatePreviewColorsAndShadows () {\n this.previewColors = generateColors({\n opacity: this.currentOpacity,\n colors: this.currentColors\n })\n this.previewShadows = generateShadows(\n { shadows: this.shadowsLocal, opacity: this.previewTheme.opacity, themeEngineVersion: this.engineVersion },\n this.previewColors.theme.colors,\n this.previewColors.mod\n )\n },\n importTheme () { this.themeImporter.importData() },\n exportTheme () { this.themeExporter.exportData() },\n onImport (parsed, forceSource = false) {\n this.tempImportFile = parsed\n this.loadTheme(parsed, 'file', forceSource)\n },\n onImportFailure (result) {\n this.$store.dispatch('pushGlobalNotice', { messageKey: 'settings.invalid_theme_imported', level: 'error' })\n },\n importValidator (parsed) {\n const version = parsed._pleroma_theme_version\n return version >= 1 || version <= 2\n },\n clearAll () {\n this.loadThemeFromLocalStorage()\n },\n\n // Clears all the extra stuff when loading V1 theme\n clearV1 () {\n Object.keys(this.$data)\n .filter(_ => _.endsWith('ColorLocal') || _.endsWith('OpacityLocal'))\n .filter(_ => !v1OnlyNames.includes(_))\n .forEach(key => {\n set(this.$data, key, undefined)\n })\n },\n\n clearRoundness () {\n Object.keys(this.$data)\n .filter(_ => _.endsWith('RadiusLocal'))\n .forEach(key => {\n set(this.$data, key, undefined)\n })\n },\n\n clearOpacity () {\n Object.keys(this.$data)\n .filter(_ => _.endsWith('OpacityLocal'))\n .forEach(key => {\n set(this.$data, key, undefined)\n })\n },\n\n clearShadows () {\n this.shadowsLocal = {}\n },\n\n clearFonts () {\n this.fontsLocal = {}\n },\n\n /**\n * This applies stored theme data onto form. Supports three versions of data:\n * v3 (version >= 3) - newest version of themes which supports snapshots for better compatiblity\n * v2 (version = 2) - newer version of themes.\n * v1 (version = 1) - older version of themes (import from file)\n * v1l (version = l1) - older version of theme (load from local storage)\n * v1 and v1l differ because of way themes were stored/exported.\n * @param {Object} theme - theme data (snapshot)\n * @param {Number} version - version of data. 0 means try to guess based on data. \"l1\" means v1, locastorage type\n * @param {Object} source - theme source - this will be used if compatible\n * @param {Boolean} source - by default source won't be used if version doesn't match since it might render differently\n * this allows importing source anyway\n */\n normalizeLocalState (theme, version = 0, source, forceSource = false) {\n let input\n if (typeof source !== 'undefined') {\n if (forceSource || source.themeEngineVersion === CURRENT_VERSION) {\n input = source\n version = source.themeEngineVersion\n } else {\n input = theme\n }\n } else {\n input = theme\n }\n\n const radii = input.radii || input\n const opacity = input.opacity\n const shadows = input.shadows || {}\n const fonts = input.fonts || {}\n const colors = !input.themeEngineVersion\n ? colors2to3(input.colors || input)\n : input.colors || input\n\n if (version === 0) {\n if (input.version) version = input.version\n // Old v1 naming: fg is text, btn is foreground\n if (typeof colors.text === 'undefined' && typeof colors.fg !== 'undefined') {\n version = 1\n }\n // New v2 naming: text is text, fg is foreground\n if (typeof colors.text !== 'undefined' && typeof colors.fg !== 'undefined') {\n version = 2\n }\n }\n\n this.engineVersion = version\n\n // Stuff that differs between V1 and V2\n if (version === 1) {\n this.fgColorLocal = rgb2hex(colors.btn)\n this.textColorLocal = rgb2hex(colors.fg)\n }\n\n if (!this.keepColor) {\n this.clearV1()\n const keys = new Set(version !== 1 ? Object.keys(SLOT_INHERITANCE) : [])\n if (version === 1 || version === 'l1') {\n keys\n .add('bg')\n .add('link')\n .add('cRed')\n .add('cBlue')\n .add('cGreen')\n .add('cOrange')\n }\n\n keys.forEach(key => {\n const color = colors[key]\n const hex = rgb2hex(colors[key])\n this[key + 'ColorLocal'] = hex === '#aN' ? color : hex\n })\n }\n\n if (opacity && !this.keepOpacity) {\n this.clearOpacity()\n Object.entries(opacity).forEach(([k, v]) => {\n if (typeof v === 'undefined' || v === null || Number.isNaN(v)) return\n this[k + 'OpacityLocal'] = v\n })\n }\n\n if (!this.keepRoundness) {\n this.clearRoundness()\n Object.entries(radii).forEach(([k, v]) => {\n // 'Radius' is kept mostly for v1->v2 localstorage transition\n const key = k.endsWith('Radius') ? k.split('Radius')[0] : k\n this[key + 'RadiusLocal'] = v\n })\n }\n\n if (!this.keepShadows) {\n this.clearShadows()\n if (version === 2) {\n this.shadowsLocal = shadows2to3(shadows, this.previewTheme.opacity)\n } else {\n this.shadowsLocal = shadows\n }\n this.shadowSelected = this.shadowsAvailable[0]\n }\n\n if (!this.keepFonts) {\n this.clearFonts()\n this.fontsLocal = fonts\n }\n }\n },\n watch: {\n currentRadii () {\n try {\n this.previewRadii = generateRadii({ radii: this.currentRadii })\n this.radiiInvalid = false\n } catch (e) {\n this.radiiInvalid = true\n console.warn(e)\n }\n },\n shadowsLocal: {\n handler () {\n if (Object.getOwnPropertyNames(this.previewColors).length === 1) return\n try {\n this.updatePreviewColorsAndShadows()\n this.shadowsInvalid = false\n } catch (e) {\n this.shadowsInvalid = true\n console.warn(e)\n }\n },\n deep: true\n },\n fontsLocal: {\n handler () {\n try {\n this.previewFonts = generateFonts({ fonts: this.fontsLocal })\n this.fontsInvalid = false\n } catch (e) {\n this.fontsInvalid = true\n console.warn(e)\n }\n },\n deep: true\n },\n currentColors () {\n try {\n this.updatePreviewColorsAndShadows()\n this.colorsInvalid = false\n this.shadowsInvalid = false\n } catch (e) {\n this.colorsInvalid = true\n this.shadowsInvalid = true\n console.warn(e)\n }\n },\n currentOpacity () {\n try {\n this.updatePreviewColorsAndShadows()\n } catch (e) {\n console.warn(e)\n }\n },\n selected () {\n this.selectedTheme = Object.entries(this.availableStyles).find(([k, s]) => {\n if (Array.isArray(s)) {\n console.log(s[0] === this.selected, this.selected)\n return s[0] === this.selected\n } else {\n return s.name === this.selected\n }\n })[1]\n },\n selectedTheme () {\n this.dismissWarning()\n if (this.selectedVersion === 1) {\n if (!this.keepRoundness) {\n this.clearRoundness()\n }\n\n if (!this.keepShadows) {\n this.clearShadows()\n }\n\n if (!this.keepOpacity) {\n this.clearOpacity()\n }\n\n if (!this.keepColor) {\n this.clearV1()\n\n this.bgColorLocal = this.selectedTheme[1]\n this.fgColorLocal = this.selectedTheme[2]\n this.textColorLocal = this.selectedTheme[3]\n this.linkColorLocal = this.selectedTheme[4]\n this.cRedColorLocal = this.selectedTheme[5]\n this.cGreenColorLocal = this.selectedTheme[6]\n this.cBlueColorLocal = this.selectedTheme[7]\n this.cOrangeColorLocal = this.selectedTheme[8]\n }\n } else if (this.selectedVersion >= 2) {\n this.normalizeLocalState(this.selectedTheme.theme, 2, this.selectedTheme.source)\n }\n }\n }\n}\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!./theme_tab.scss\")\n}\n/* script */\nexport * from \"!!babel-loader!./theme_tab.js\"\nimport __vue_script__ from \"!!babel-loader!./theme_tab.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-400e19a1\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../../../node_modules/vue-loader/lib/selector?type=template&index=0!./theme_tab.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"theme-tab\"},[_c('div',{staticClass:\"presets-container\"},[_c('div',{staticClass:\"save-load\"},[(_vm.themeWarning)?_c('div',{staticClass:\"theme-warning\"},[_c('div',{staticClass:\"alert warning\"},[_vm._v(\"\\n \"+_vm._s(_vm.themeWarningHelp)+\"\\n \")]),_vm._v(\" \"),_c('div',{staticClass:\"buttons\"},[(_vm.themeWarning.type === 'snapshot_source_mismatch')?[_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.forceLoad}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.use_source'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.forceSnapshot}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.use_snapshot'))+\"\\n \")])]:(_vm.themeWarning.noActionsPossible)?[_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.dismissWarning}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.dismiss'))+\"\\n \")])]:[_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.forceLoad}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.load_theme'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.dismissWarning}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_as_is'))+\"\\n \")])]],2)]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"top\"},[_c('div',{staticClass:\"presets\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.presets'))+\"\\n \"),_c('label',{staticClass:\"select\",attrs:{\"for\":\"preset-switcher\"}},[_c('Select',{staticClass:\"preset-switcher\",attrs:{\"id\":\"preset-switcher\"},model:{value:(_vm.selected),callback:function ($$v) {_vm.selected=$$v},expression:\"selected\"}},_vm._l((_vm.availableStyles),function(style){return _c('option',{key:style.name,style:({\n backgroundColor: style[1] || (style.theme || style.source).colors.bg,\n color: style[3] || (style.theme || style.source).colors.text\n }),domProps:{\"value\":style.name || style[0]}},[_vm._v(\"\\n \"+_vm._s(style[0] || style.name)+\"\\n \")])}),0)],1)]),_vm._v(\" \"),_c('div',{staticClass:\"export-import\"},[_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.importTheme}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"settings.import_theme\"))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.exportTheme}},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"settings.export_theme\"))+\"\\n \")])])])]),_vm._v(\" \"),_c('div',{staticClass:\"save-load-options\"},[_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepColor),callback:function ($$v) {_vm.keepColor=$$v},expression:\"keepColor\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_color'))+\"\\n \")])],1),_vm._v(\" \"),_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepShadows),callback:function ($$v) {_vm.keepShadows=$$v},expression:\"keepShadows\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_shadows'))+\"\\n \")])],1),_vm._v(\" \"),_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepOpacity),callback:function ($$v) {_vm.keepOpacity=$$v},expression:\"keepOpacity\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_opacity'))+\"\\n \")])],1),_vm._v(\" \"),_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepRoundness),callback:function ($$v) {_vm.keepRoundness=$$v},expression:\"keepRoundness\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_roundness'))+\"\\n \")])],1),_vm._v(\" \"),_c('span',{staticClass:\"keep-option\"},[_c('Checkbox',{model:{value:(_vm.keepFonts),callback:function ($$v) {_vm.keepFonts=$$v},expression:\"keepFonts\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.keep_fonts'))+\"\\n \")])],1),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.switcher.save_load_hint')))])])]),_vm._v(\" \"),_c('preview',{style:(_vm.previewRules)}),_vm._v(\" \"),_c('keep-alive',[_c('tab-switcher',{key:\"style-tweak\"},[_c('div',{staticClass:\"color-container\",attrs:{\"label\":_vm.$t('settings.style.common_colors._tab_label')}},[_c('div',{staticClass:\"tab-header\"},[_c('p',[_vm._v(_vm._s(_vm.$t('settings.theme_help')))]),_vm._v(\" \"),_c('div',{staticClass:\"tab-header-buttons\"},[_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.clearOpacity}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_opacity'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.clearV1}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n \")])])]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.theme_help_v2_1')))]),_vm._v(\" \"),_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.common_colors.main')))]),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('ColorInput',{attrs:{\"name\":\"bgColor\",\"label\":_vm.$t('settings.background')},model:{value:(_vm.bgColorLocal),callback:function ($$v) {_vm.bgColorLocal=$$v},expression:\"bgColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"bgOpacity\",\"fallback\":_vm.previewTheme.opacity.bg},model:{value:(_vm.bgOpacityLocal),callback:function ($$v) {_vm.bgOpacityLocal=$$v},expression:\"bgOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"textColor\",\"label\":_vm.$t('settings.text')},model:{value:(_vm.textColorLocal),callback:function ($$v) {_vm.textColorLocal=$$v},expression:\"textColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"accentColor\",\"fallback\":_vm.previewTheme.colors.link,\"label\":_vm.$t('settings.accent'),\"show-optional-tickbox\":typeof _vm.linkColorLocal !== 'undefined'},model:{value:(_vm.accentColorLocal),callback:function ($$v) {_vm.accentColorLocal=$$v},expression:\"accentColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"linkColor\",\"fallback\":_vm.previewTheme.colors.accent,\"label\":_vm.$t('settings.links'),\"show-optional-tickbox\":typeof _vm.accentColorLocal !== 'undefined'},model:{value:(_vm.linkColorLocal),callback:function ($$v) {_vm.linkColorLocal=$$v},expression:\"linkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('ColorInput',{attrs:{\"name\":\"fgColor\",\"label\":_vm.$t('settings.foreground')},model:{value:(_vm.fgColorLocal),callback:function ($$v) {_vm.fgColorLocal=$$v},expression:\"fgColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"fgTextColor\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.fgText},model:{value:(_vm.fgTextColorLocal),callback:function ($$v) {_vm.fgTextColorLocal=$$v},expression:\"fgTextColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"fgLinkColor\",\"label\":_vm.$t('settings.links'),\"fallback\":_vm.previewTheme.colors.fgLink},model:{value:(_vm.fgLinkColorLocal),callback:function ($$v) {_vm.fgLinkColorLocal=$$v},expression:\"fgLinkColorLocal\"}}),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.common_colors.foreground_hint')))])],1),_vm._v(\" \"),_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.common_colors.rgbo')))]),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('ColorInput',{attrs:{\"name\":\"cRedColor\",\"label\":_vm.$t('settings.cRed')},model:{value:(_vm.cRedColorLocal),callback:function ($$v) {_vm.cRedColorLocal=$$v},expression:\"cRedColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgCRed}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"cBlueColor\",\"label\":_vm.$t('settings.cBlue')},model:{value:(_vm.cBlueColorLocal),callback:function ($$v) {_vm.cBlueColorLocal=$$v},expression:\"cBlueColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgCBlue}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('ColorInput',{attrs:{\"name\":\"cGreenColor\",\"label\":_vm.$t('settings.cGreen')},model:{value:(_vm.cGreenColorLocal),callback:function ($$v) {_vm.cGreenColorLocal=$$v},expression:\"cGreenColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgCGreen}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"cOrangeColor\",\"label\":_vm.$t('settings.cOrange')},model:{value:(_vm.cOrangeColorLocal),callback:function ($$v) {_vm.cOrangeColorLocal=$$v},expression:\"cOrangeColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.bgCOrange}})],1),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.theme_help_v2_2')))])]),_vm._v(\" \"),_c('div',{staticClass:\"color-container\",attrs:{\"label\":_vm.$t('settings.style.advanced_colors._tab_label')}},[_c('div',{staticClass:\"tab-header\"},[_c('p',[_vm._v(_vm._s(_vm.$t('settings.theme_help')))]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.clearOpacity}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_opacity'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.clearV1}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n \")])]),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.post')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"postLinkColor\",\"fallback\":_vm.previewTheme.colors.accent,\"label\":_vm.$t('settings.links')},model:{value:(_vm.postLinkColorLocal),callback:function ($$v) {_vm.postLinkColorLocal=$$v},expression:\"postLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.postLink}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"postGreentextColor\",\"fallback\":_vm.previewTheme.colors.cGreen,\"label\":_vm.$t('settings.greentext')},model:{value:(_vm.postGreentextColorLocal),callback:function ($$v) {_vm.postGreentextColorLocal=$$v},expression:\"postGreentextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.postGreentext}}),_vm._v(\" \"),_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.alert')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertError\",\"label\":_vm.$t('settings.style.advanced_colors.alert_error'),\"fallback\":_vm.previewTheme.colors.alertError},model:{value:(_vm.alertErrorColorLocal),callback:function ($$v) {_vm.alertErrorColorLocal=$$v},expression:\"alertErrorColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertErrorText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.alertErrorText},model:{value:(_vm.alertErrorTextColorLocal),callback:function ($$v) {_vm.alertErrorTextColorLocal=$$v},expression:\"alertErrorTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.alertErrorText,\"large\":\"\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertWarning\",\"label\":_vm.$t('settings.style.advanced_colors.alert_warning'),\"fallback\":_vm.previewTheme.colors.alertWarning},model:{value:(_vm.alertWarningColorLocal),callback:function ($$v) {_vm.alertWarningColorLocal=$$v},expression:\"alertWarningColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertWarningText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.alertWarningText},model:{value:(_vm.alertWarningTextColorLocal),callback:function ($$v) {_vm.alertWarningTextColorLocal=$$v},expression:\"alertWarningTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.alertWarningText,\"large\":\"\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertNeutral\",\"label\":_vm.$t('settings.style.advanced_colors.alert_neutral'),\"fallback\":_vm.previewTheme.colors.alertNeutral},model:{value:(_vm.alertNeutralColorLocal),callback:function ($$v) {_vm.alertNeutralColorLocal=$$v},expression:\"alertNeutralColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"alertNeutralText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.alertNeutralText},model:{value:(_vm.alertNeutralTextColorLocal),callback:function ($$v) {_vm.alertNeutralTextColorLocal=$$v},expression:\"alertNeutralTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.alertNeutralText,\"large\":\"\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"alertOpacity\",\"fallback\":_vm.previewTheme.opacity.alert},model:{value:(_vm.alertOpacityLocal),callback:function ($$v) {_vm.alertOpacityLocal=$$v},expression:\"alertOpacityLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.badge')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"badgeNotification\",\"label\":_vm.$t('settings.style.advanced_colors.badge_notification'),\"fallback\":_vm.previewTheme.colors.badgeNotification},model:{value:(_vm.badgeNotificationColorLocal),callback:function ($$v) {_vm.badgeNotificationColorLocal=$$v},expression:\"badgeNotificationColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"badgeNotificationText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.badgeNotificationText},model:{value:(_vm.badgeNotificationTextColorLocal),callback:function ($$v) {_vm.badgeNotificationTextColorLocal=$$v},expression:\"badgeNotificationTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.badgeNotificationText,\"large\":\"\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.panel_header')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"panelColor\",\"fallback\":_vm.previewTheme.colors.panel,\"label\":_vm.$t('settings.background')},model:{value:(_vm.panelColorLocal),callback:function ($$v) {_vm.panelColorLocal=$$v},expression:\"panelColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"panelOpacity\",\"fallback\":_vm.previewTheme.opacity.panel,\"disabled\":_vm.panelColorLocal === 'transparent'},model:{value:(_vm.panelOpacityLocal),callback:function ($$v) {_vm.panelOpacityLocal=$$v},expression:\"panelOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"panelTextColor\",\"fallback\":_vm.previewTheme.colors.panelText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.panelTextColorLocal),callback:function ($$v) {_vm.panelTextColorLocal=$$v},expression:\"panelTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.panelText,\"large\":\"\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"panelLinkColor\",\"fallback\":_vm.previewTheme.colors.panelLink,\"label\":_vm.$t('settings.links')},model:{value:(_vm.panelLinkColorLocal),callback:function ($$v) {_vm.panelLinkColorLocal=$$v},expression:\"panelLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.panelLink,\"large\":\"\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.top_bar')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"topBarColor\",\"fallback\":_vm.previewTheme.colors.topBar,\"label\":_vm.$t('settings.background')},model:{value:(_vm.topBarColorLocal),callback:function ($$v) {_vm.topBarColorLocal=$$v},expression:\"topBarColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"topBarTextColor\",\"fallback\":_vm.previewTheme.colors.topBarText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.topBarTextColorLocal),callback:function ($$v) {_vm.topBarTextColorLocal=$$v},expression:\"topBarTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.topBarText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"topBarLinkColor\",\"fallback\":_vm.previewTheme.colors.topBarLink,\"label\":_vm.$t('settings.links')},model:{value:(_vm.topBarLinkColorLocal),callback:function ($$v) {_vm.topBarLinkColorLocal=$$v},expression:\"topBarLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.topBarLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.inputs')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"inputColor\",\"fallback\":_vm.previewTheme.colors.input,\"label\":_vm.$t('settings.background')},model:{value:(_vm.inputColorLocal),callback:function ($$v) {_vm.inputColorLocal=$$v},expression:\"inputColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"inputOpacity\",\"fallback\":_vm.previewTheme.opacity.input,\"disabled\":_vm.inputColorLocal === 'transparent'},model:{value:(_vm.inputOpacityLocal),callback:function ($$v) {_vm.inputOpacityLocal=$$v},expression:\"inputOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"inputTextColor\",\"fallback\":_vm.previewTheme.colors.inputText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.inputTextColorLocal),callback:function ($$v) {_vm.inputTextColorLocal=$$v},expression:\"inputTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.inputText}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.buttons')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnColor\",\"fallback\":_vm.previewTheme.colors.btn,\"label\":_vm.$t('settings.background')},model:{value:(_vm.btnColorLocal),callback:function ($$v) {_vm.btnColorLocal=$$v},expression:\"btnColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"btnOpacity\",\"fallback\":_vm.previewTheme.opacity.btn,\"disabled\":_vm.btnColorLocal === 'transparent'},model:{value:(_vm.btnOpacityLocal),callback:function ($$v) {_vm.btnOpacityLocal=$$v},expression:\"btnOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnTextColor\",\"fallback\":_vm.previewTheme.colors.btnText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.btnTextColorLocal),callback:function ($$v) {_vm.btnTextColorLocal=$$v},expression:\"btnTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnPanelTextColor\",\"fallback\":_vm.previewTheme.colors.btnPanelText,\"label\":_vm.$t('settings.style.advanced_colors.panel_header')},model:{value:(_vm.btnPanelTextColorLocal),callback:function ($$v) {_vm.btnPanelTextColorLocal=$$v},expression:\"btnPanelTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnPanelText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnTopBarTextColor\",\"fallback\":_vm.previewTheme.colors.btnTopBarText,\"label\":_vm.$t('settings.style.advanced_colors.top_bar')},model:{value:(_vm.btnTopBarTextColorLocal),callback:function ($$v) {_vm.btnTopBarTextColorLocal=$$v},expression:\"btnTopBarTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnTopBarText}}),_vm._v(\" \"),_c('h5',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.pressed')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnPressedColor\",\"fallback\":_vm.previewTheme.colors.btnPressed,\"label\":_vm.$t('settings.background')},model:{value:(_vm.btnPressedColorLocal),callback:function ($$v) {_vm.btnPressedColorLocal=$$v},expression:\"btnPressedColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnPressedTextColor\",\"fallback\":_vm.previewTheme.colors.btnPressedText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.btnPressedTextColorLocal),callback:function ($$v) {_vm.btnPressedTextColorLocal=$$v},expression:\"btnPressedTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnPressedText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnPressedPanelTextColor\",\"fallback\":_vm.previewTheme.colors.btnPressedPanelText,\"label\":_vm.$t('settings.style.advanced_colors.panel_header')},model:{value:(_vm.btnPressedPanelTextColorLocal),callback:function ($$v) {_vm.btnPressedPanelTextColorLocal=$$v},expression:\"btnPressedPanelTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnPressedPanelText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnPressedTopBarTextColor\",\"fallback\":_vm.previewTheme.colors.btnPressedTopBarText,\"label\":_vm.$t('settings.style.advanced_colors.top_bar')},model:{value:(_vm.btnPressedTopBarTextColorLocal),callback:function ($$v) {_vm.btnPressedTopBarTextColorLocal=$$v},expression:\"btnPressedTopBarTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnPressedTopBarText}}),_vm._v(\" \"),_c('h5',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.disabled')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnDisabledColor\",\"fallback\":_vm.previewTheme.colors.btnDisabled,\"label\":_vm.$t('settings.background')},model:{value:(_vm.btnDisabledColorLocal),callback:function ($$v) {_vm.btnDisabledColorLocal=$$v},expression:\"btnDisabledColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnDisabledTextColor\",\"fallback\":_vm.previewTheme.colors.btnDisabledText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.btnDisabledTextColorLocal),callback:function ($$v) {_vm.btnDisabledTextColorLocal=$$v},expression:\"btnDisabledTextColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnDisabledPanelTextColor\",\"fallback\":_vm.previewTheme.colors.btnDisabledPanelText,\"label\":_vm.$t('settings.style.advanced_colors.panel_header')},model:{value:(_vm.btnDisabledPanelTextColorLocal),callback:function ($$v) {_vm.btnDisabledPanelTextColorLocal=$$v},expression:\"btnDisabledPanelTextColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnDisabledTopBarTextColor\",\"fallback\":_vm.previewTheme.colors.btnDisabledTopBarText,\"label\":_vm.$t('settings.style.advanced_colors.top_bar')},model:{value:(_vm.btnDisabledTopBarTextColorLocal),callback:function ($$v) {_vm.btnDisabledTopBarTextColorLocal=$$v},expression:\"btnDisabledTopBarTextColorLocal\"}}),_vm._v(\" \"),_c('h5',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.toggled')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnToggledColor\",\"fallback\":_vm.previewTheme.colors.btnToggled,\"label\":_vm.$t('settings.background')},model:{value:(_vm.btnToggledColorLocal),callback:function ($$v) {_vm.btnToggledColorLocal=$$v},expression:\"btnToggledColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnToggledTextColor\",\"fallback\":_vm.previewTheme.colors.btnToggledText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.btnToggledTextColorLocal),callback:function ($$v) {_vm.btnToggledTextColorLocal=$$v},expression:\"btnToggledTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnToggledText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnToggledPanelTextColor\",\"fallback\":_vm.previewTheme.colors.btnToggledPanelText,\"label\":_vm.$t('settings.style.advanced_colors.panel_header')},model:{value:(_vm.btnToggledPanelTextColorLocal),callback:function ($$v) {_vm.btnToggledPanelTextColorLocal=$$v},expression:\"btnToggledPanelTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnToggledPanelText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"btnToggledTopBarTextColor\",\"fallback\":_vm.previewTheme.colors.btnToggledTopBarText,\"label\":_vm.$t('settings.style.advanced_colors.top_bar')},model:{value:(_vm.btnToggledTopBarTextColorLocal),callback:function ($$v) {_vm.btnToggledTopBarTextColorLocal=$$v},expression:\"btnToggledTopBarTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.btnToggledTopBarText}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.tabs')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"tabColor\",\"fallback\":_vm.previewTheme.colors.tab,\"label\":_vm.$t('settings.background')},model:{value:(_vm.tabColorLocal),callback:function ($$v) {_vm.tabColorLocal=$$v},expression:\"tabColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"tabTextColor\",\"fallback\":_vm.previewTheme.colors.tabText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.tabTextColorLocal),callback:function ($$v) {_vm.tabTextColorLocal=$$v},expression:\"tabTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.tabText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"tabActiveTextColor\",\"fallback\":_vm.previewTheme.colors.tabActiveText,\"label\":_vm.$t('settings.text')},model:{value:(_vm.tabActiveTextColorLocal),callback:function ($$v) {_vm.tabActiveTextColorLocal=$$v},expression:\"tabActiveTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.tabActiveText}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.borders')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"borderColor\",\"fallback\":_vm.previewTheme.colors.border,\"label\":_vm.$t('settings.style.common.color')},model:{value:(_vm.borderColorLocal),callback:function ($$v) {_vm.borderColorLocal=$$v},expression:\"borderColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"borderOpacity\",\"fallback\":_vm.previewTheme.opacity.border,\"disabled\":_vm.borderColorLocal === 'transparent'},model:{value:(_vm.borderOpacityLocal),callback:function ($$v) {_vm.borderOpacityLocal=$$v},expression:\"borderOpacityLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.faint_text')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"faintColor\",\"fallback\":_vm.previewTheme.colors.faint,\"label\":_vm.$t('settings.text')},model:{value:(_vm.faintColorLocal),callback:function ($$v) {_vm.faintColorLocal=$$v},expression:\"faintColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"faintLinkColor\",\"fallback\":_vm.previewTheme.colors.faintLink,\"label\":_vm.$t('settings.links')},model:{value:(_vm.faintLinkColorLocal),callback:function ($$v) {_vm.faintLinkColorLocal=$$v},expression:\"faintLinkColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"panelFaintColor\",\"fallback\":_vm.previewTheme.colors.panelFaint,\"label\":_vm.$t('settings.style.advanced_colors.panel_header')},model:{value:(_vm.panelFaintColorLocal),callback:function ($$v) {_vm.panelFaintColorLocal=$$v},expression:\"panelFaintColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"faintOpacity\",\"fallback\":_vm.previewTheme.opacity.faint},model:{value:(_vm.faintOpacityLocal),callback:function ($$v) {_vm.faintOpacityLocal=$$v},expression:\"faintOpacityLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.underlay')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"underlay\",\"label\":_vm.$t('settings.style.advanced_colors.underlay'),\"fallback\":_vm.previewTheme.colors.underlay},model:{value:(_vm.underlayColorLocal),callback:function ($$v) {_vm.underlayColorLocal=$$v},expression:\"underlayColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"underlayOpacity\",\"fallback\":_vm.previewTheme.opacity.underlay,\"disabled\":_vm.underlayOpacityLocal === 'transparent'},model:{value:(_vm.underlayOpacityLocal),callback:function ($$v) {_vm.underlayOpacityLocal=$$v},expression:\"underlayOpacityLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.wallpaper')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"wallpaper\",\"label\":_vm.$t('settings.style.advanced_colors.wallpaper'),\"fallback\":_vm.previewTheme.colors.wallpaper},model:{value:(_vm.wallpaperColorLocal),callback:function ($$v) {_vm.wallpaperColorLocal=$$v},expression:\"wallpaperColorLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.poll')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"poll\",\"label\":_vm.$t('settings.background'),\"fallback\":_vm.previewTheme.colors.poll},model:{value:(_vm.pollColorLocal),callback:function ($$v) {_vm.pollColorLocal=$$v},expression:\"pollColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"pollText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.pollText},model:{value:(_vm.pollTextColorLocal),callback:function ($$v) {_vm.pollTextColorLocal=$$v},expression:\"pollTextColorLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.icons')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"icon\",\"label\":_vm.$t('settings.style.advanced_colors.icons'),\"fallback\":_vm.previewTheme.colors.icon},model:{value:(_vm.iconColorLocal),callback:function ($$v) {_vm.iconColorLocal=$$v},expression:\"iconColorLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.highlight')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"highlight\",\"label\":_vm.$t('settings.background'),\"fallback\":_vm.previewTheme.colors.highlight},model:{value:(_vm.highlightColorLocal),callback:function ($$v) {_vm.highlightColorLocal=$$v},expression:\"highlightColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"highlightText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.highlightText},model:{value:(_vm.highlightTextColorLocal),callback:function ($$v) {_vm.highlightTextColorLocal=$$v},expression:\"highlightTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.highlightText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"highlightLink\",\"label\":_vm.$t('settings.links'),\"fallback\":_vm.previewTheme.colors.highlightLink},model:{value:(_vm.highlightLinkColorLocal),callback:function ($$v) {_vm.highlightLinkColorLocal=$$v},expression:\"highlightLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.highlightLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.popover')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"popover\",\"label\":_vm.$t('settings.background'),\"fallback\":_vm.previewTheme.colors.popover},model:{value:(_vm.popoverColorLocal),callback:function ($$v) {_vm.popoverColorLocal=$$v},expression:\"popoverColorLocal\"}}),_vm._v(\" \"),_c('OpacityInput',{attrs:{\"name\":\"popoverOpacity\",\"fallback\":_vm.previewTheme.opacity.popover,\"disabled\":_vm.popoverOpacityLocal === 'transparent'},model:{value:(_vm.popoverOpacityLocal),callback:function ($$v) {_vm.popoverOpacityLocal=$$v},expression:\"popoverOpacityLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"popoverText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.popoverText},model:{value:(_vm.popoverTextColorLocal),callback:function ($$v) {_vm.popoverTextColorLocal=$$v},expression:\"popoverTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.popoverText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"popoverLink\",\"label\":_vm.$t('settings.links'),\"fallback\":_vm.previewTheme.colors.popoverLink},model:{value:(_vm.popoverLinkColorLocal),callback:function ($$v) {_vm.popoverLinkColorLocal=$$v},expression:\"popoverLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.popoverLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.selectedPost')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedPost\",\"label\":_vm.$t('settings.background'),\"fallback\":_vm.previewTheme.colors.selectedPost},model:{value:(_vm.selectedPostColorLocal),callback:function ($$v) {_vm.selectedPostColorLocal=$$v},expression:\"selectedPostColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedPostText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.selectedPostText},model:{value:(_vm.selectedPostTextColorLocal),callback:function ($$v) {_vm.selectedPostTextColorLocal=$$v},expression:\"selectedPostTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.selectedPostText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedPostLink\",\"label\":_vm.$t('settings.links'),\"fallback\":_vm.previewTheme.colors.selectedPostLink},model:{value:(_vm.selectedPostLinkColorLocal),callback:function ($$v) {_vm.selectedPostLinkColorLocal=$$v},expression:\"selectedPostLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.selectedPostLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.selectedMenu')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedMenu\",\"label\":_vm.$t('settings.background'),\"fallback\":_vm.previewTheme.colors.selectedMenu},model:{value:(_vm.selectedMenuColorLocal),callback:function ($$v) {_vm.selectedMenuColorLocal=$$v},expression:\"selectedMenuColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedMenuText\",\"label\":_vm.$t('settings.text'),\"fallback\":_vm.previewTheme.colors.selectedMenuText},model:{value:(_vm.selectedMenuTextColorLocal),callback:function ($$v) {_vm.selectedMenuTextColorLocal=$$v},expression:\"selectedMenuTextColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.selectedMenuText}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"selectedMenuLink\",\"label\":_vm.$t('settings.links'),\"fallback\":_vm.previewTheme.colors.selectedMenuLink},model:{value:(_vm.selectedMenuLinkColorLocal),callback:function ($$v) {_vm.selectedMenuLinkColorLocal=$$v},expression:\"selectedMenuLinkColorLocal\"}}),_vm._v(\" \"),_c('ContrastRatio',{attrs:{\"contrast\":_vm.previewContrast.selectedMenuLink}})],1),_vm._v(\" \"),_c('div',{staticClass:\"color-item\"},[_c('h4',[_vm._v(_vm._s(_vm.$t('chats.chats')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatBgColor\",\"fallback\":_vm.previewTheme.colors.bg,\"label\":_vm.$t('settings.background')},model:{value:(_vm.chatBgColorLocal),callback:function ($$v) {_vm.chatBgColorLocal=$$v},expression:\"chatBgColorLocal\"}}),_vm._v(\" \"),_c('h5',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.chat.incoming')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageIncomingBgColor\",\"fallback\":_vm.previewTheme.colors.bg,\"label\":_vm.$t('settings.background')},model:{value:(_vm.chatMessageIncomingBgColorLocal),callback:function ($$v) {_vm.chatMessageIncomingBgColorLocal=$$v},expression:\"chatMessageIncomingBgColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageIncomingTextColor\",\"fallback\":_vm.previewTheme.colors.text,\"label\":_vm.$t('settings.text')},model:{value:(_vm.chatMessageIncomingTextColorLocal),callback:function ($$v) {_vm.chatMessageIncomingTextColorLocal=$$v},expression:\"chatMessageIncomingTextColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageIncomingLinkColor\",\"fallback\":_vm.previewTheme.colors.link,\"label\":_vm.$t('settings.links')},model:{value:(_vm.chatMessageIncomingLinkColorLocal),callback:function ($$v) {_vm.chatMessageIncomingLinkColorLocal=$$v},expression:\"chatMessageIncomingLinkColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageIncomingBorderLinkColor\",\"fallback\":_vm.previewTheme.colors.fg,\"label\":_vm.$t('settings.style.advanced_colors.chat.border')},model:{value:(_vm.chatMessageIncomingBorderColorLocal),callback:function ($$v) {_vm.chatMessageIncomingBorderColorLocal=$$v},expression:\"chatMessageIncomingBorderColorLocal\"}}),_vm._v(\" \"),_c('h5',[_vm._v(_vm._s(_vm.$t('settings.style.advanced_colors.chat.outgoing')))]),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageOutgoingBgColor\",\"fallback\":_vm.previewTheme.colors.bg,\"label\":_vm.$t('settings.background')},model:{value:(_vm.chatMessageOutgoingBgColorLocal),callback:function ($$v) {_vm.chatMessageOutgoingBgColorLocal=$$v},expression:\"chatMessageOutgoingBgColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageOutgoingTextColor\",\"fallback\":_vm.previewTheme.colors.text,\"label\":_vm.$t('settings.text')},model:{value:(_vm.chatMessageOutgoingTextColorLocal),callback:function ($$v) {_vm.chatMessageOutgoingTextColorLocal=$$v},expression:\"chatMessageOutgoingTextColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageOutgoingLinkColor\",\"fallback\":_vm.previewTheme.colors.link,\"label\":_vm.$t('settings.links')},model:{value:(_vm.chatMessageOutgoingLinkColorLocal),callback:function ($$v) {_vm.chatMessageOutgoingLinkColorLocal=$$v},expression:\"chatMessageOutgoingLinkColorLocal\"}}),_vm._v(\" \"),_c('ColorInput',{attrs:{\"name\":\"chatMessageOutgoingBorderLinkColor\",\"fallback\":_vm.previewTheme.colors.bg,\"label\":_vm.$t('settings.style.advanced_colors.chat.border')},model:{value:(_vm.chatMessageOutgoingBorderColorLocal),callback:function ($$v) {_vm.chatMessageOutgoingBorderColorLocal=$$v},expression:\"chatMessageOutgoingBorderColorLocal\"}})],1)]),_vm._v(\" \"),_c('div',{staticClass:\"radius-container\",attrs:{\"label\":_vm.$t('settings.style.radii._tab_label')}},[_c('div',{staticClass:\"tab-header\"},[_c('p',[_vm._v(_vm._s(_vm.$t('settings.radii_help')))]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.clearRoundness}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n \")])]),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"btnRadius\",\"label\":_vm.$t('settings.btnRadius'),\"fallback\":_vm.previewTheme.radii.btn,\"max\":\"16\",\"hard-min\":\"0\"},model:{value:(_vm.btnRadiusLocal),callback:function ($$v) {_vm.btnRadiusLocal=$$v},expression:\"btnRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"inputRadius\",\"label\":_vm.$t('settings.inputRadius'),\"fallback\":_vm.previewTheme.radii.input,\"max\":\"9\",\"hard-min\":\"0\"},model:{value:(_vm.inputRadiusLocal),callback:function ($$v) {_vm.inputRadiusLocal=$$v},expression:\"inputRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"checkboxRadius\",\"label\":_vm.$t('settings.checkboxRadius'),\"fallback\":_vm.previewTheme.radii.checkbox,\"max\":\"16\",\"hard-min\":\"0\"},model:{value:(_vm.checkboxRadiusLocal),callback:function ($$v) {_vm.checkboxRadiusLocal=$$v},expression:\"checkboxRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"panelRadius\",\"label\":_vm.$t('settings.panelRadius'),\"fallback\":_vm.previewTheme.radii.panel,\"max\":\"50\",\"hard-min\":\"0\"},model:{value:(_vm.panelRadiusLocal),callback:function ($$v) {_vm.panelRadiusLocal=$$v},expression:\"panelRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"avatarRadius\",\"label\":_vm.$t('settings.avatarRadius'),\"fallback\":_vm.previewTheme.radii.avatar,\"max\":\"28\",\"hard-min\":\"0\"},model:{value:(_vm.avatarRadiusLocal),callback:function ($$v) {_vm.avatarRadiusLocal=$$v},expression:\"avatarRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"avatarAltRadius\",\"label\":_vm.$t('settings.avatarAltRadius'),\"fallback\":_vm.previewTheme.radii.avatarAlt,\"max\":\"28\",\"hard-min\":\"0\"},model:{value:(_vm.avatarAltRadiusLocal),callback:function ($$v) {_vm.avatarAltRadiusLocal=$$v},expression:\"avatarAltRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"attachmentRadius\",\"label\":_vm.$t('settings.attachmentRadius'),\"fallback\":_vm.previewTheme.radii.attachment,\"max\":\"50\",\"hard-min\":\"0\"},model:{value:(_vm.attachmentRadiusLocal),callback:function ($$v) {_vm.attachmentRadiusLocal=$$v},expression:\"attachmentRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"tooltipRadius\",\"label\":_vm.$t('settings.tooltipRadius'),\"fallback\":_vm.previewTheme.radii.tooltip,\"max\":\"50\",\"hard-min\":\"0\"},model:{value:(_vm.tooltipRadiusLocal),callback:function ($$v) {_vm.tooltipRadiusLocal=$$v},expression:\"tooltipRadiusLocal\"}}),_vm._v(\" \"),_c('RangeInput',{attrs:{\"name\":\"chatMessageRadius\",\"label\":_vm.$t('settings.chatMessageRadius'),\"fallback\":_vm.previewTheme.radii.chatMessage || 2,\"max\":\"50\",\"hard-min\":\"0\"},model:{value:(_vm.chatMessageRadiusLocal),callback:function ($$v) {_vm.chatMessageRadiusLocal=$$v},expression:\"chatMessageRadiusLocal\"}})],1),_vm._v(\" \"),_c('div',{staticClass:\"shadow-container\",attrs:{\"label\":_vm.$t('settings.style.shadows._tab_label')}},[_c('div',{staticClass:\"tab-header shadow-selector\"},[_c('div',{staticClass:\"select-container\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.component'))+\"\\n \"),_c('Select',{staticClass:\"shadow-switcher\",attrs:{\"id\":\"shadow-switcher\"},model:{value:(_vm.shadowSelected),callback:function ($$v) {_vm.shadowSelected=$$v},expression:\"shadowSelected\"}},_vm._l((_vm.shadowsAvailable),function(shadow){return _c('option',{key:shadow,domProps:{\"value\":shadow}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.components.' + shadow))+\"\\n \")])}),0)],1),_vm._v(\" \"),_c('div',{staticClass:\"override\"},[_c('label',{staticClass:\"label\",attrs:{\"for\":\"override\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.shadows.override'))+\"\\n \")]),_vm._v(\" \"),_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.currentShadowOverriden),expression:\"currentShadowOverriden\"}],staticClass:\"input-override\",attrs:{\"id\":\"override\",\"name\":\"override\",\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.currentShadowOverriden)?_vm._i(_vm.currentShadowOverriden,null)>-1:(_vm.currentShadowOverriden)},on:{\"change\":function($event){var $$a=_vm.currentShadowOverriden,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.currentShadowOverriden=$$a.concat([$$v]))}else{$$i>-1&&(_vm.currentShadowOverriden=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.currentShadowOverriden=$$c}}}}),_vm._v(\" \"),_c('label',{staticClass:\"checkbox-label\",attrs:{\"for\":\"override\"}})]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.clearShadows}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n \")])]),_vm._v(\" \"),_c('ShadowControl',{attrs:{\"ready\":!!_vm.currentShadowFallback,\"fallback\":_vm.currentShadowFallback},model:{value:(_vm.currentShadow),callback:function ($$v) {_vm.currentShadow=$$v},expression:\"currentShadow\"}}),_vm._v(\" \"),(_vm.shadowSelected === 'avatar' || _vm.shadowSelected === 'avatarStatus')?_c('div',[_c('i18n',{attrs:{\"path\":\"settings.style.shadows.filter_hint.always_drop_shadow\",\"tag\":\"p\"}},[_c('code',[_vm._v(\"filter: drop-shadow()\")])]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.shadows.filter_hint.avatar_inset')))]),_vm._v(\" \"),_c('i18n',{attrs:{\"path\":\"settings.style.shadows.filter_hint.drop_shadow_syntax\",\"tag\":\"p\"}},[_c('code',[_vm._v(\"drop-shadow\")]),_vm._v(\" \"),_c('code',[_vm._v(\"spread-radius\")]),_vm._v(\" \"),_c('code',[_vm._v(\"inset\")])]),_vm._v(\" \"),_c('i18n',{attrs:{\"path\":\"settings.style.shadows.filter_hint.inset_classic\",\"tag\":\"p\"}},[_c('code',[_vm._v(\"box-shadow\")])]),_vm._v(\" \"),_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.shadows.filter_hint.spread_zero')))])],1):_vm._e()],1),_vm._v(\" \"),_c('div',{staticClass:\"fonts-container\",attrs:{\"label\":_vm.$t('settings.style.fonts._tab_label')}},[_c('div',{staticClass:\"tab-header\"},[_c('p',[_vm._v(_vm._s(_vm.$t('settings.style.fonts.help')))]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.clearFonts}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.clear_all'))+\"\\n \")])]),_vm._v(\" \"),_c('FontControl',{attrs:{\"name\":\"ui\",\"label\":_vm.$t('settings.style.fonts.components.interface'),\"fallback\":_vm.previewTheme.fonts.interface,\"no-inherit\":\"1\"},model:{value:(_vm.fontsLocal.interface),callback:function ($$v) {_vm.$set(_vm.fontsLocal, \"interface\", $$v)},expression:\"fontsLocal.interface\"}}),_vm._v(\" \"),_c('FontControl',{attrs:{\"name\":\"input\",\"label\":_vm.$t('settings.style.fonts.components.input'),\"fallback\":_vm.previewTheme.fonts.input},model:{value:(_vm.fontsLocal.input),callback:function ($$v) {_vm.$set(_vm.fontsLocal, \"input\", $$v)},expression:\"fontsLocal.input\"}}),_vm._v(\" \"),_c('FontControl',{attrs:{\"name\":\"post\",\"label\":_vm.$t('settings.style.fonts.components.post'),\"fallback\":_vm.previewTheme.fonts.post},model:{value:(_vm.fontsLocal.post),callback:function ($$v) {_vm.$set(_vm.fontsLocal, \"post\", $$v)},expression:\"fontsLocal.post\"}}),_vm._v(\" \"),_c('FontControl',{attrs:{\"name\":\"postCode\",\"label\":_vm.$t('settings.style.fonts.components.postCode'),\"fallback\":_vm.previewTheme.fonts.postCode},model:{value:(_vm.fontsLocal.postCode),callback:function ($$v) {_vm.$set(_vm.fontsLocal, \"postCode\", $$v)},expression:\"fontsLocal.postCode\"}})],1)])],1),_vm._v(\" \"),_c('div',{staticClass:\"apply-container\"},[_c('button',{staticClass:\"btn button-default submit\",attrs:{\"disabled\":!_vm.themeValid},on:{\"click\":_vm.setCustomTheme}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.apply'))+\"\\n \")]),_vm._v(\" \"),_c('button',{staticClass:\"btn button-default\",on:{\"click\":_vm.clearAll}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('settings.style.switcher.reset'))+\"\\n \")])])],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import TabSwitcher from 'src/components/tab_switcher/tab_switcher.js'\n\nimport DataImportExportTab from './tabs/data_import_export_tab.vue'\nimport MutesAndBlocksTab from './tabs/mutes_and_blocks_tab.vue'\nimport NotificationsTab from './tabs/notifications_tab.vue'\nimport FilteringTab from './tabs/filtering_tab.vue'\nimport SecurityTab from './tabs/security_tab/security_tab.vue'\nimport ProfileTab from './tabs/profile_tab.vue'\nimport GeneralTab from './tabs/general_tab.vue'\nimport VersionTab from './tabs/version_tab.vue'\nimport ThemeTab from './tabs/theme_tab/theme_tab.vue'\n\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faWrench,\n faUser,\n faFilter,\n faPaintBrush,\n faBell,\n faDownload,\n faEyeSlash,\n faInfo\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faWrench,\n faUser,\n faFilter,\n faPaintBrush,\n faBell,\n faDownload,\n faEyeSlash,\n faInfo\n)\n\nconst SettingsModalContent = {\n components: {\n TabSwitcher,\n\n DataImportExportTab,\n MutesAndBlocksTab,\n NotificationsTab,\n FilteringTab,\n SecurityTab,\n ProfileTab,\n GeneralTab,\n VersionTab,\n ThemeTab\n },\n computed: {\n isLoggedIn () {\n return !!this.$store.state.users.currentUser\n },\n open () {\n return this.$store.state.interface.settingsModalState !== 'hidden'\n }\n },\n methods: {\n onOpen () {\n const targetTab = this.$store.state.interface.settingsModalTargetTab\n // We're being told to open in specific tab\n if (targetTab) {\n const tabIndex = this.$refs.tabSwitcher.$slots.default.findIndex(elm => {\n return elm.data && elm.data.attrs['data-tab-name'] === targetTab\n })\n if (tabIndex >= 0) {\n this.$refs.tabSwitcher.setTab(tabIndex)\n }\n }\n // Clear the state of target tab, so that next time settings is opened\n // it doesn't force it.\n this.$store.dispatch('clearSettingsModalTargetTab')\n }\n },\n mounted () {\n this.onOpen()\n },\n watch: {\n open: function (value) {\n if (value) this.onOpen()\n }\n }\n}\n\nexport default SettingsModalContent\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!./settings_modal_content.scss\")\n}\n/* script */\nexport * from \"!!babel-loader!./settings_modal_content.js\"\nimport __vue_script__ from \"!!babel-loader!./settings_modal_content.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-c173d428\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./settings_modal_content.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tab-switcher',{ref:\"tabSwitcher\",staticClass:\"settings_tab-switcher\",attrs:{\"side-tab-bar\":true,\"scrollable-tabs\":true}},[_c('div',{attrs:{\"label\":_vm.$t('settings.general'),\"icon\":\"wrench\",\"data-tab-name\":\"general\"}},[_c('GeneralTab')],1),_vm._v(\" \"),(_vm.isLoggedIn)?_c('div',{attrs:{\"label\":_vm.$t('settings.profile_tab'),\"icon\":\"user\",\"data-tab-name\":\"profile\"}},[_c('ProfileTab')],1):_vm._e(),_vm._v(\" \"),(_vm.isLoggedIn)?_c('div',{attrs:{\"label\":_vm.$t('settings.security_tab'),\"icon\":\"lock\",\"data-tab-name\":\"security\"}},[_c('SecurityTab')],1):_vm._e(),_vm._v(\" \"),_c('div',{attrs:{\"label\":_vm.$t('settings.filtering'),\"icon\":\"filter\",\"data-tab-name\":\"filtering\"}},[_c('FilteringTab')],1),_vm._v(\" \"),_c('div',{attrs:{\"label\":_vm.$t('settings.theme'),\"icon\":\"paint-brush\",\"data-tab-name\":\"theme\"}},[_c('ThemeTab')],1),_vm._v(\" \"),(_vm.isLoggedIn)?_c('div',{attrs:{\"label\":_vm.$t('settings.notifications'),\"icon\":\"bell\",\"data-tab-name\":\"notifications\"}},[_c('NotificationsTab')],1):_vm._e(),_vm._v(\" \"),(_vm.isLoggedIn)?_c('div',{attrs:{\"label\":_vm.$t('settings.data_import_export_tab'),\"icon\":\"download\",\"data-tab-name\":\"dataImportExport\"}},[_c('DataImportExportTab')],1):_vm._e(),_vm._v(\" \"),(_vm.isLoggedIn)?_c('div',{attrs:{\"label\":_vm.$t('settings.mutes_and_blocks'),\"fullHeight\":true,\"icon\":\"eye-slash\",\"data-tab-name\":\"mutesAndBlocks\"}},[_c('MutesAndBlocksTab')],1):_vm._e(),_vm._v(\" \"),_c('div',{attrs:{\"label\":_vm.$t('settings.version.title'),\"icon\":\"info\",\"data-tab-name\":\"version\"}},[_c('VersionTab')],1)])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }"],"sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/20.abb0d332055536a87c38.js b/priv/static/static/js/20.683b112f4dcea887f707.js similarity index 78% rename from priv/static/static/js/20.abb0d332055536a87c38.js rename to priv/static/static/js/20.683b112f4dcea887f707.js index 2d92fdfbd..726530149 100644 --- a/priv/static/static/js/20.abb0d332055536a87c38.js +++ b/priv/static/static/js/20.683b112f4dcea887f707.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{599:function(e){e.exports=JSON.parse('{"chat":{"title":"チャット"},"exporter":{"export":"エクスポート","processing":"処理中です。処理が完了すると、ファイルをダウンロードするよう指示があります"},"features_panel":{"chat":"チャット","gopher":"Gopher","media_proxy":"メディアプロクシ","scope_options":"公開範囲選択","text_limit":"文字の数","title":"有効な機能","who_to_follow":"おすすめユーザー","upload_limit":"ファイルサイズの上限","pleroma_chat_messages":"Pleroma チャット"},"finder":{"error_fetching_user":"ユーザー検索がエラーになりました","find_user":"ユーザーを探す"},"general":{"apply":"適用","submit":"送信","more":"続き","generic_error":"エラーになりました","optional":"省略可","show_more":"もっと見る","show_less":"たたむ","cancel":"キャンセル","disable":"無効","enable":"有効","confirm":"確認","verify":"検査","peek":"隠す","close":"閉じる","dismiss":"無視","retry":"もう一度お試し下さい","error_retry":"もう一度お試し下さい","loading":"読み込み中…","role":{"moderator":"モデレーター","admin":"管理者"}},"image_cropper":{"crop_picture":"画像を切り抜く","save":"保存","save_without_cropping":"切り抜かずに保存","cancel":"キャンセル"},"importer":{"submit":"送信","success":"正常にインポートされました。","error":"このファイルをインポートするとき、エラーが発生しました。"},"login":{"login":"ログイン","description":"OAuthでログイン","logout":"ログアウト","password":"パスワード","placeholder":"例: lain","register":"登録","username":"ユーザー名","hint":"会話に加わるには、ログインしてください","authentication_code":"認証コード","enter_recovery_code":"リカバリーコードを入力してください","enter_two_factor_code":"2段階認証コードを入力してください","recovery_code":"リカバリーコード","heading":{"totp":"2段階認証","recovery":"2段階リカバリー"}},"media_modal":{"previous":"前","next":"次"},"nav":{"about":"このインスタンスについて","back":"戻る","chat":"ローカルチャット","friend_requests":"フォローリクエスト","mentions":"通知","interactions":"インタラクション","dms":"ダイレクトメッセージ","public_tl":"公開タイムライン","timeline":"タイムライン","twkn":"すべてのネットワーク","user_search":"ユーザーを探す","search":"検索","who_to_follow":"おすすめユーザー","preferences":"設定","administration":"管理","bookmarks":"ブックマーク","timelines":"タイムライン","chats":"チャット","home_timeline":"ホームタイムライン"},"notifications":{"broken_favorite":"ステータスが見つかりません。探しています…","favorited_you":"あなたのステータスがお気に入りされました","followed_you":"フォローされました","load_older":"古い通知をみる","notifications":"通知","read":"読んだ!","repeated_you":"あなたのステータスがリピートされました","no_more_notifications":"通知はありません","reacted_with":"{0} でリアクションしました","migrated_to":"インスタンスを引っ越しました","follow_request":"あなたをフォローしたいです","error":"通知の取得に失敗しました: {0}"},"polls":{"add_poll":"投票を追加","add_option":"選択肢を追加","option":"選択肢","votes":"票","vote":"投票","type":"投票の形式","single_choice":"択一式","multiple_choices":"複数選択式","expiry":"投票期間","expires_in":"投票は {0} で終了します","expired":"投票は {0} 前に終了しました","not_enough_options":"相異なる選択肢が不足しています","votes_count":"{count} 票 | {count} 票","people_voted_count":"{count} 人投票 | {count} 人投票"},"emoji":{"stickers":"ステッカー","emoji":"絵文字","keep_open":"ピッカーを開いたままにする","search_emoji":"絵文字を検索","add_emoji":"絵文字を挿入","custom":"カスタム絵文字","unicode":"Unicode絵文字","load_all":"全 {emojiAmount} 絵文字を読み込む","load_all_hint":"最初の {saneAmount} 絵文字を読み込みました、全て読み込むと重くなる可能性があります。"},"stickers":{"add_sticker":"ステッカーを追加"},"interactions":{"favs_repeats":"リピートとお気に入り","follows":"新しいフォロワー","load_older":"古いインタラクションを見る","moves":"ユーザーの引っ越し"},"post_status":{"new_status":"投稿する","account_not_locked_warning":"あなたのアカウントは {0} ではありません。あなたをフォローすれば、誰でも、フォロワー限定のステータスを読むことができます。","account_not_locked_warning_link":"ロックされたアカウント","attachments_sensitive":"ファイルをNSFWにする","content_type":{"text/plain":"プレーンテキスト","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},"content_warning":"説明 (省略可)","default":"羽田空港に着きました。","direct_warning_to_all":"この投稿は、メンションされたすべてのユーザーが、見ることができます。","direct_warning_to_first_only":"この投稿は、メッセージの冒頭でメンションされたユーザーだけが、見ることができます。","direct_warning":"このステータスは、メンションされたユーザーだけが、読むことができます。","posting":"投稿","scope_notice":{"public":"この投稿は、誰でも見ることができます","private":"この投稿は、あなたのフォロワーだけが、見ることができます","unlisted":"この投稿は、パブリックタイムラインと、接続しているすべてのネットワークには、表示されません"},"scope":{"direct":"ダイレクト: メンションされたユーザーのみに届きます","private":"フォロワー限定: フォロワーのみに届きます","public":"パブリック: 公開タイムラインに届きます","unlisted":"アンリステッド: 公開タイムラインに届きません"},"media_description_error":"メディアのアップロードに失敗しました。もう一度お試しください","empty_status_error":"投稿内容を入力してください","preview_empty":"何もありません","preview":"プレビュー","media_description":"メディアの説明","post":"投稿"},"registration":{"bio":"プロフィール","email":"Eメール","fullname":"スクリーンネーム","password_confirm":"パスワードの確認","registration":"登録","token":"招待トークン","captcha":"CAPTCHA","new_captcha":"文字が読めないときは、画像をクリックすると、新しい画像になります","username_placeholder":"例: lain","fullname_placeholder":"例: 岩倉玲音","bio_placeholder":"例:\\nこんにちは。私は玲音。\\n私はアニメのキャラクターで、日本の郊外に住んでいます。私をWiredで見たことがあるかもしれません。","validations":{"username_required":"必須","fullname_required":"必須","email_required":"必須","password_required":"必須","password_confirmation_required":"必須","password_confirmation_match":"パスワードが違います"},"reason_placeholder":"このインスタンスは、新規登録を手動で受け付けています。\\n登録したい理由を、インスタンスの管理者に教えてください。","reason":"登録するための目的","register":"登録"},"selectable_list":{"select_all":"すべて選択"},"settings":{"app_name":"アプリの名称","security":"セキュリティ","enter_current_password_to_confirm":"あなたのアイデンティティを証明するため、現在のパスワードを入力してください","mfa":{"otp":"OTP","setup_otp":"OTPのセットアップ","wait_pre_setup_otp":"OTPのプリセット","confirm_and_enable":"OTPの確認と有効化","title":"2段階認証","generate_new_recovery_codes":"新しいリカバリーコードを生成","warning_of_generate_new_codes":"新しいリカバリーコードを生成すると、古いコードは使用できなくなります。","recovery_codes":"リカバリーコード。","waiting_a_recovery_codes":"バックアップコードを受信しています…","recovery_codes_warning":"コードを紙に書くか、安全な場所に保存してください。そうでなければ、あなたはコードを再び見ることはできません。もし2段階認証アプリのアクセスを喪失し、なおかつ、リカバリーコードもないならば、あなたは自分のアカウントから閉め出されます。","authentication_methods":"認証方法","scan":{"title":"スキャン","desc":"あなたの2段階認証アプリを使って、このQRコードをスキャンするか、テキストキーを入力してください:","secret_code":"キー"},"verify":{"desc":"2段階認証を有効にするには、あなたの2段階認証アプリのコードを入力してください:"}},"attachmentRadius":"ファイル","attachments":"ファイル","avatar":"アバター","avatarAltRadius":"通知のアバター","avatarRadius":"アバター","background":"バックグラウンド","bio":"プロフィール","block_export":"ブロックのエクスポート","block_export_button":"ブロックをCSVファイルにエクスポートする","block_import":"ブロックのインポート","block_import_error":"ブロックのインポートに失敗しました","blocks_imported":"ブロックをインポートしました! 実際に処理されるまでに、しばらく時間がかかります。","blocks_tab":"ブロック","btnRadius":"ボタン","cBlue":"返信とフォロー","cGreen":"リピート","cOrange":"お気に入り","cRed":"キャンセル","change_password":"パスワードを変える","change_password_error":"パスワードを変えることが、できなかったかもしれません。","changed_password":"パスワードが、変わりました!","collapse_subject":"説明のある投稿をたたむ","composing":"投稿","confirm_new_password":"新しいパスワードの確認","current_avatar":"現在のアバター","current_password":"現在のパスワード","current_profile_banner":"現在のプロフィールバナー","data_import_export_tab":"インポートとエクスポート","default_vis":"デフォルトの公開範囲","delete_account":"アカウントを消す","delete_account_description":"あなたのデータが消えて、アカウントが使えなくなります。","delete_account_error":"アカウントを消すことが、できなかったかもしれません。インスタンスの管理者に、連絡してください。","delete_account_instructions":"本当にアカウントを消してもいいなら、パスワードを入力してください。","discoverable":"検索などのサービスでこのアカウントを見つけることを許可する","avatar_size_instruction":"アバターの大きさは、150×150ピクセルか、それよりも大きくするといいです。","pad_emoji":"ピッカーから絵文字を挿入するとき、絵文字の両側にスペースを入れる","export_theme":"保存","filtering":"フィルタリング","filtering_explanation":"これらの言葉を含むすべてのものがミュートされます。1行に1つの言葉を書いてください","follow_export":"フォローのエクスポート","follow_export_button":"エクスポート","follow_export_processing":"お待ちください。まもなくファイルをダウンロードできます。","follow_import":"フォローのインポート","follow_import_error":"フォローのインポートがエラーになりました","follows_imported":"フォローがインポートされました! 少し時間がかかるかもしれません。","foreground":"フォアグラウンド","general":"全般","hide_attachments_in_convo":"スレッドのファイルを隠す","hide_attachments_in_tl":"タイムラインのファイルを隠す","hide_muted_posts":"ミュートしているユーザーの投稿を隠す","max_thumbnails":"投稿に含まれるサムネイルの最大数","hide_isp":"インスタンス固有パネルを隠す","preload_images":"画像を先読みする","use_one_click_nsfw":"NSFWなファイルを1クリックで開く","hide_post_stats":"投稿の統計を隠す (例: お気に入りの数)","hide_user_stats":"ユーザーの統計を隠す (例: フォロワーの数)","hide_filtered_statuses":"フィルターされた投稿を隠す","import_blocks_from_a_csv_file":"CSVファイルからブロックをインポートする","import_followers_from_a_csv_file":"CSVファイルからフォローをインポートする","import_theme":"ロード","inputRadius":"インプットフィールド","checkboxRadius":"チェックボックス","instance_default":"(デフォルト: {value})","instance_default_simple":"(デフォルト)","interface":"インターフェース","interfaceLanguage":"インターフェースの言語","invalid_theme_imported":"このファイルはPleromaのテーマではありません。テーマは変更されませんでした。","limited_availability":"あなたのブラウザではできません","links":"リンク","lock_account_description":"あなたが認めた人だけ、あなたのアカウントをフォローできる","loop_video":"ビデオを繰り返す","loop_video_silent_only":"音のないビデオだけ繰り返す","mutes_tab":"ミュート","play_videos_in_modal":"ビデオをメディアビューアーで見る","use_contain_fit":"画像のサムネイルを、切り抜かない","name":"名前","name_bio":"名前とプロフィール","new_password":"新しいパスワード","notification_visibility":"表示する通知","notification_visibility_follows":"フォロー","notification_visibility_likes":"お気に入り","notification_visibility_mentions":"メンション","notification_visibility_repeats":"リピート","no_rich_text_description":"リッチテキストを使わない","no_blocks":"ブロックはありません","no_mutes":"ミュートはありません","hide_follows_description":"フォローしている人を見せない","hide_followers_description":"フォロワーを見せない","hide_follows_count_description":"フォローしている人の数を見せない","hide_followers_count_description":"フォロワーの数を見せない","show_admin_badge":"\\"管理者\\"のバッジを見せる","show_moderator_badge":"\\"モデレーター\\"のバッジを見せる","nsfw_clickthrough":"NSFWなファイルを隠す","oauth_tokens":"OAuthトークン","token":"トークン","refresh_token":"トークンを更新","valid_until":"まで有効","revoke_token":"取り消す","panelRadius":"パネル","pause_on_unfocused":"タブにフォーカスがないときストリーミングを止める","presets":"プリセット","profile_background":"プロフィールの背景","profile_banner":"プロフィールのバナー","profile_tab":"プロフィール","radii_help":"インターフェースの丸さを設定する","replies_in_timeline":"タイムラインのリプライ","reply_visibility_all":"すべてのリプライを見る","reply_visibility_following":"私に宛てられたリプライと、フォローしている人からのリプライを見る","reply_visibility_self":"私に宛てられたリプライを見る","autohide_floating_post_button":"新しい投稿ボタンを自動的に隠す (モバイル)","saving_err":"設定を保存できませんでした","saving_ok":"設定を保存しました","search_user_to_block":"ブロックしたいユーザーを検索","search_user_to_mute":"ミュートしたいユーザーを検索","security_tab":"セキュリティ","scope_copy":"返信するとき、公開範囲をコピーする (DMの公開範囲は、常にコピーされます)","minimal_scopes_mode":"公開範囲選択オプションを最小にする","set_new_avatar":"新しいアバターを設定する","set_new_profile_background":"新しいプロフィールのバックグラウンドを設定する","set_new_profile_banner":"新しいプロフィールバナーを設定する","settings":"設定","subject_input_always_show":"サブジェクトフィールドをいつでも表示する","subject_line_behavior":"返信するときサブジェクトをコピーする","subject_line_email":"メール風: \\"re: サブジェクト\\"","subject_line_mastodon":"マストドン風: そのままコピー","subject_line_noop":"コピーしない","post_status_content_type":"投稿のコンテントタイプ","stop_gifs":"カーソルを重ねたとき、GIFを動かす","streaming":"上までスクロールしたとき、自動的にストリーミングする","text":"文字","theme":"テーマ","theme_help":"カラーテーマをカスタマイズできます。","theme_help_v2_1":"チェックボックスをONにすると、コンポーネントごとに、色と透明度をオーバーライドできます。「すべてクリア」ボタンを押すと、すべてのオーバーライドをやめます。","theme_help_v2_2":"バックグラウンドとテキストのコントラストを表すアイコンがあります。マウスをホバーすると、詳しい説明が出ます。透明な色を使っているときは、最悪の場合のコントラストが示されます。","tooltipRadius":"ツールチップとアラート","upload_a_photo":"画像をアップロード","user_settings":"ユーザー設定","values":{"false":"いいえ","true":"はい"},"notifications":"通知","notification_mutes":"特定のユーザーからの通知を止めるには、ミュートしてください。","notification_blocks":"ブロックしているユーザーからの通知は、すべて止まります。","enable_web_push_notifications":"ウェブプッシュ通知を許可する","style":{"switcher":{"keep_color":"色を残す","keep_shadows":"影を残す","keep_opacity":"透明度を残す","keep_roundness":"丸さを残す","keep_fonts":"フォントを残す","save_load_hint":"「残す」オプションをONにすると、テーマを選んだときとロードしたとき、現在の設定を残します。また、テーマをエクスポートするとき、これらのオプションを維持します。すべてのチェックボックスをOFFにすると、テーマをエクスポートしたとき、すべての設定を保存します。","reset":"リセット","clear_all":"すべてクリア","clear_opacity":"透明度をクリア","help":{"snapshot_missing":"テーマのスナップショットがありません。思っていた見た目と違うかもしれません。","migration_snapshot_ok":"念のために、テーマのスナップショットが読み込まれました。テーマのデータを読み込むことができます。","fe_downgraded":"フロントエンドが前のバージョンに戻りました。","fe_upgraded":"フロントエンドと一緒に、テーマエンジンが新しくなりました。","older_version_imported":"古いフロントエンドで作られたファイルをインポートしました。","future_version_imported":"新しいフロントエンドで作られたファイルをインポートしました。","v2_imported":"古いフロントエンドのためのファイルをインポートしました。設定した通りにならないかもしれません。","upgraded_from_v2":"フロントエンドが新しくなったので、今までの見た目と少し違うかもしれません。","snapshot_source_mismatch":"フロントエンドがロールバックと更新を繰り返したため、バージョンが競合しています。","migration_napshot_gone":"スナップショットがありません、覚えているものと見た目が違うかもしれません。","snapshot_present":"テーマのスナップショットが読み込まれました。設定は上書きされました。代わりとして実データを読み込むことができます。"},"use_source":"新しいバージョン","use_snapshot":"古いバージョン","load_theme":"テーマの読み込み","keep_as_is":"変更しない"},"common":{"color":"色","opacity":"透明度","contrast":{"hint":"コントラストは {ratio} です。{level}。({context})","level":{"aa":"AAレベルガイドライン (最低限) を満たします","aaa":"AAAレベルガイドライン (推奨) を満たします","bad":"ガイドラインを満たしません"},"context":{"18pt":"大きい (18ポイント以上) テキスト","text":"テキスト"}}},"common_colors":{"_tab_label":"共通","main":"共通の色","foreground_hint":"「詳細」タブで、もっと細かく設定できます","rgbo":"アイコンとアクセントとバッジ"},"advanced_colors":{"_tab_label":"詳細","alert":"アラートのバックグラウンド","alert_error":"エラー","badge":"バッジのバックグラウンド","badge_notification":"通知","panel_header":"パネルヘッダー","top_bar":"トップバー","borders":"境界","buttons":"ボタン","inputs":"インプットフィールド","faint_text":"薄いテキスト","alert_neutral":"それ以外","chat":{"border":"境界線","outgoing":"送信","incoming":"受信"},"tabs":"タブ","toggled":"切り替えたとき","disabled":"無効なとき","selectedMenu":"選択されたメニューアイテム","selectedPost":"選択された投稿","pressed":"押したとき","highlight":"強調された要素","icons":"アイコン","poll":"投票グラフ","wallpaper":"壁紙","underlay":"アンダーレイ","popover":"ツールチップ、メニュー、ポップオーバー","post":"投稿/プロフィール","alert_warning":"警告"},"radii":{"_tab_label":"丸さ"},"shadows":{"_tab_label":"光と影","component":"コンポーネント","override":"オーバーライド","shadow_id":"影 #{value}","blur":"ぼかし","spread":"広がり","inset":"内側","hint":"影の設定では、色の値として --variable を使うことができます。これはCSS3変数です。ただし、透明度の設定は、効かなくなります。","filter_hint":{"always_drop_shadow":"ブラウザーがサポートしていれば、常に {0} が使われます。","drop_shadow_syntax":"{0} は、{1} パラメーターと {2} キーワードをサポートしていません。","avatar_inset":"内側の影と外側の影を同時に使うと、透明なアバターの表示が乱れます。","spread_zero":"広がりが 0 よりも大きな影は、0 と同じです","inset_classic":"内側の影は {0} を使います"},"components":{"panel":"パネル","panelHeader":"パネルヘッダー","topBar":"トップバー","avatar":"ユーザーアバター (プロフィール)","avatarStatus":"ユーザーアバター (投稿)","popup":"ポップアップとツールチップ","button":"ボタン","buttonHover":"ボタン (ホバー)","buttonPressed":"ボタン (押されているとき)","buttonPressedHover":"ボタン (ホバー、かつ、押されているとき)","input":"インプットフィールド"},"hintV3":"影の場合は、 {0} 表記を使って他の色スロットを使うこともできます。"},"fonts":{"_tab_label":"フォント","help":"「カスタム」を選んだときは、システムにあるフォントの名前を、正しく入力してください。","components":{"interface":"インターフェース","input":"インプットフィールド","post":"投稿","postCode":"等幅 (投稿がリッチテキストであるとき)"},"family":"フォント名","size":"大きさ (px)","weight":"太さ","custom":"カスタム"},"preview":{"header":"プレビュー","content":"本文","error":"エラーの例","button":"ボタン","text":"これは{0}と{1}の例です","mono":"monospace","input":"羽田空港に着きました。","faint_link":"とても助けになるマニュアル","fine_print":"私たちの{0}を、読まないでください!","header_faint":"エラーではありません","checkbox":"利用規約を読みました","link":"ハイパーリンク"}},"version":{"title":"バージョン","backend_version":"バックエンドのバージョン","frontend_version":"フロントエンドのバージョン"},"notification_setting_hide_notification_contents":"送った人と内容を、プッシュ通知に表示しない","notification_setting_privacy":"プライバシー","notification_setting_block_from_strangers":"フォローしていないユーザーからの通知を拒否する","notification_setting_filters":"フィルター","fun":"お楽しみ","virtual_scrolling":"タイムラインの描画を最適化する","type_domains_to_mute":"ミュートしたいドメインを検索","useStreamingApiWarning":"(実験中で、投稿を取りこぼすかもしれないので、おすすめしません)","useStreamingApi":"投稿と通知を、すぐに受け取る","user_mutes":"ユーザー","reset_background_confirm":"本当にバックグラウンドを初期化しますか?","reset_banner_confirm":"本当にバナーを初期化しますか?","reset_avatar_confirm":"本当にアバターを初期化しますか?","hide_wallpaper":"インスタンスのバックグラウンドを隠す","reset_profile_background":"プロフィールのバックグラウンドを初期化","reset_profile_banner":"プロフィールのバナーを初期化","reset_avatar":"アバターを初期化","notification_visibility_emoji_reactions":"リアクション","notification_visibility_moves":"ユーザーの引っ越し","new_email":"新しいメールアドレス","profile_fields":{"value":"内容","name":"ラベル","add_field":"枠を追加","label":"プロフィール補足情報"},"accent":"アクセント","mutes_imported":"ミュートをインポートしました!少し時間がかかるかもしれません。","emoji_reactions_on_timeline":"絵文字リアクションをタイムラインに表示","domain_mutes":"ドメイン","mutes_and_blocks":"ミュートとブロック","chatMessageRadius":"チャットメッセージ","change_email_error":"メールアドレスを変えることが、できなかったかもしれません。","changed_email":"メールアドレスが、変わりました!","change_email":"メールアドレスを変える","bot":"これは bot アカウントです","mute_export_button":"ミュートをCSVファイルにエクスポートする","import_mutes_from_a_csv_file":"CSVファイルからミュートをインポートする","mute_import_error":"ミュートのインポートに失敗しました","mute_import":"ミュートのインポート","mute_export":"ミュートのエクスポート","allow_following_move":"フォロー中のアカウントが引っ越したとき、自動フォローを許可する","setting_changed":"規定の設定と異なっています","greentext":"引用を緑色で表示","sensitive_by_default":"はじめから投稿をセンシティブとして設定","more_settings":"その他の設定","reply_visibility_self_short":"自分宛のリプライを見る","reply_visibility_following_short":"フォローしている人に宛てられたリプライを見る","hide_all_muted_posts":"ミュートした投稿を隠す","hide_media_previews":"メディアのプレビューを隠す","word_filter":"単語フィルタ","file_export_import":{"errors":{"invalid_file":"これはPleromaの設定をバックアップしたファイルではありません。"},"restore_settings":"設定をファイルから復元する","backup_settings_theme":"テーマを含む設定をファイルにバックアップする","backup_settings":"設定をファイルにバックアップする","backup_restore":"設定をバックアップ"},"save":"変更を保存"},"time":{"day":"{0}日","days":"{0}日","day_short":"{0}日","days_short":"{0}日","hour":"{0}時間","hours":"{0}時間","hour_short":"{0}時間","hours_short":"{0}時間","in_future":"{0}で","in_past":"{0}前","minute":"{0}分","minutes":"{0}分","minute_short":"{0}分","minutes_short":"{0}分","month":"{0}ヶ月前","months":"{0}ヶ月前","month_short":"{0}ヶ月前","months_short":"{0}ヶ月前","now":"たった今","now_short":"たった今","second":"{0}秒","seconds":"{0}秒","second_short":"{0}秒","seconds_short":"{0}秒","week":"{0}週間","weeks":"{0}週間","week_short":"{0}週間","weeks_short":"{0}週間","year":"{0}年","years":"{0}年","year_short":"{0}年","years_short":"{0}年"},"timeline":{"collapse":"たたむ","conversation":"スレッド","error_fetching":"読み込みがエラーになりました","load_older":"古いステータス","no_retweet_hint":"投稿を「フォロワーのみ」または「ダイレクト」にすると、リピートできなくなります","repeated":"リピート","show_new":"読み込み","up_to_date":"最新","no_more_statuses":"これで終わりです","no_statuses":"ステータスはありません","reload":"再読み込み","error":"タイムラインの読み込みに失敗しました: {0}"},"status":{"favorites":"お気に入り","repeats":"リピート","delete":"ステータスを削除","pin":"プロフィールにピン留め","unpin":"プロフィールのピン留めを外す","pinned":"ピン留め","delete_confirm":"本当にこのステータスを削除してもよろしいですか?","reply_to":"返信","replies_list":"返信:","mute_conversation":"スレッドをミュート","unmute_conversation":"スレッドのミュートを解除","nsfw":"閲覧注意","expand":"広げる","status_deleted":"この投稿は削除されました","hide_content":"隠す","show_content":"見る","hide_full_subject":"隠す","show_full_subject":"全部見る","thread_muted_and_words":"以下の単語を含むため:","thread_muted":"ミュートされたスレッド","external_source":"外部ソース","copy_link":"リンクをコピー","status_unavailable":"利用できません","unbookmark":"ブックマーク解除","bookmark":"ブックマーク"},"user_card":{"approve":"受け入れ","block":"ブロック","blocked":"ブロックしています!","deny":"お断り","favorites":"お気に入り","follow":"フォロー","follow_sent":"リクエストを送りました!","follow_progress":"リクエストしています…","follow_again":"再びリクエストを送りますか?","follow_unfollow":"フォローをやめる","followees":"フォロー","followers":"フォロワー","following":"フォローしています!","follows_you":"フォローされました!","its_you":"これはあなたです!","media":"メディア","mention":"メンション","mute":"ミュート","muted":"ミュートしています","per_day":"/日","remote_follow":"リモートフォロー","report":"通報","statuses":"ステータス","subscribe":"購読","unsubscribe":"購読を解除","unblock":"ブロック解除","unblock_progress":"ブロックを解除しています…","block_progress":"ブロックしています…","unmute":"ミュート解除","unmute_progress":"ミュートを解除しています…","mute_progress":"ミュートしています…","admin_menu":{"moderation":"モデレーション","grant_admin":"管理者権限を付与","revoke_admin":"管理者権限を解除","grant_moderator":"モデレーター権限を付与","revoke_moderator":"モデレーター権限を解除","activate_account":"アカウントをアクティブにする","deactivate_account":"アカウントをアクティブでなくする","delete_account":"アカウントを削除","force_nsfw":"すべての投稿をNSFWにする","strip_media":"投稿からメディアを除去する","force_unlisted":"投稿を未収載にする","sandbox":"投稿をフォロワーのみにする","disable_remote_subscription":"他のインスタンスからフォローされないようにする","disable_any_subscription":"フォローされないようにする","quarantine":"他のインスタンスからの投稿を止める","delete_user":"ユーザーを削除","delete_user_confirmation":"あなたの精神状態に何か問題はございませんか? この操作を取り消すことはできません。"},"roles":{"moderator":"モデレーター","admin":"管理者"},"show_repeats":"リピートを見る","hide_repeats":"リピートを隠す","message":"メッセージ","hidden":"隠す","bot":"bot","highlight":{"solid":"背景を単色にする","striped":"背景を縞模様にする","side":"端に線を付ける","disabled":"強調しない"}},"user_profile":{"timeline_title":"ユーザータイムライン","profile_does_not_exist":"申し訳ない。このプロフィールは存在しません。","profile_loading_error":"申し訳ない。プロフィールの読み込みがエラーになりました。"},"user_reporting":{"title":"通報する: {0}","add_comment_description":"この通報は、あなたのインスタンスのモデレーターに送られます。このアカウントを通報する理由を説明することができます:","additional_comments":"追加のコメント","forward_description":"このアカウントは他のサーバーに置かれています。この通報のコピーをリモートのサーバーに送りますか?","forward_to":"転送する: {0}","submit":"送信","generic_error":"あなたのリクエストを処理しようとしましたが、エラーになりました。"},"who_to_follow":{"more":"詳細","who_to_follow":"おすすめユーザー"},"tool_tip":{"media_upload":"メディアをアップロード","repeat":"リピート","reply":"返信","favorite":"お気に入り","user_settings":"ユーザー設定","bookmark":"ブックマーク","reject_follow_request":"フォローリクエストを拒否","accept_follow_request":"フォローリクエストを許可","add_reaction":"リアクションを追加"},"upload":{"error":{"base":"アップロードに失敗しました。","file_too_big":"ファイルが大きすぎます [{filesize} {filesizeunit} / {allowedsize} {allowedsizeunit}]","default":"しばらくしてから試してください","message":"アップロードに失敗: {0}"},"file_size_units":{"B":"B","KiB":"KiB","MiB":"MiB","GiB":"GiB","TiB":"TiB"}},"search":{"people":"人々","hashtags":"ハッシュタグ","person_talking":"{count} 人が話しています","people_talking":"{count} 人が話しています","no_results":"見つかりませんでした"},"password_reset":{"forgot_password":"パスワードを忘れましたか?","password_reset":"パスワードリセット","instruction":"メールアドレスまたはユーザー名を入力してください。パスワードをリセットするためのリンクを送信します。","placeholder":"メールアドレスまたはユーザー名","check_email":"パスワードをリセットするためのリンクが記載されたメールが届いているか確認してください。","return_home":"ホームページに戻る","too_many_requests":"試行回数の制限に達しました。しばらく時間を置いてから再試行してください。","password_reset_disabled":"このインスタンスではパスワードリセットは無効になっています。インスタンスの管理者に連絡してください。","password_reset_required_but_mailer_is_disabled":"パスワードの初期化が必要ですが、初期化は使えません。インスタンスの管理者に連絡してください。","password_reset_required":"ログインするためにパスワードを初期化してください。"},"about":{"mrf":{"mrf_policies_desc":"MRFポリシーは、インスタンスの振る舞いを操作します。以下のポリシーが有効になっています:","federation":"連合","simple":{"media_nsfw_desc":"このインスタンスでは、以下のインスタンスからの投稿に対して、メディアを閲覧注意に設定します:","media_nsfw":"メディアを閲覧注意に設定","media_removal_desc":"このインスタンスでは、以下のインスタンスからの投稿に対して、メディアを除去します:","media_removal":"メディア除去","ftl_removal":"「既知のネットワーク」タイムラインから除外","ftl_removal_desc":"このインスタンスでは、以下のインスタンスを「既知のネットワーク」タイムラインから除外します:","quarantine_desc":"このインスタンスでは、以下のインスタンスに対して公開投稿のみを送信します:","quarantine":"検疫","reject_desc":"このインスタンスでは、以下のインスタンスからのメッセージを受け付けません:","accept_desc":"このインスタンスでは、以下のインスタンスからのメッセージのみを受け付けます:","accept":"許可","simple_policies":"インスタンス固有のポリシー","reject":"拒否"},"mrf_policies":"有効なMRFポリシー","keyword":{"replace":"置き換え","ftl_removal":"「接続しているすべてのネットワーク」タイムラインから除外","keyword_policies":"キーワードポリシー","is_replaced_by":"→","reject":"拒否"}},"staff":"スタッフ"},"display_date":{"today":"今日"},"file_type":{"file":"ファイル","image":"画像","video":"ビデオ","audio":"オーディオ"},"remote_user_resolver":{"error":"見つかりませんでした。","searching_for":"検索中","remote_user_resolver":"リモートユーザーリゾルバ"},"errors":{"storage_unavailable":"ブラウザのストレージに接続できなかったため、ログインや設定情報は保存されません。Cookieを有効にしてください。"},"shoutbox":{"title":"Shoutbox"},"chats":{"empty_chat_list_placeholder":"チャットはありません。新規チャットのボタンを押して始めましょう!","error_sending_message":"メッセージの送信に失敗しました。","error_loading_chat":"チャットの読み込みに失敗しました。","delete_confirm":"このメッセージを本当に消してもいいですか?","more":"もっと見る","empty_message_error":"メッセージを入力して下さい","new":"新規チャット","chats":"チャット一覧","delete":"削除","message_user":"{nickname} にメッセージ","you":"あなた:"},"domain_mute_card":{"unmute_progress":"ミュート解除中…","unmute":"ミュート解除","mute_progress":"ミュート中…","mute":"ミュート"}}')}}]); -//# sourceMappingURL=20.abb0d332055536a87c38.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[20],{612:function(e){e.exports=JSON.parse('{"chat":{"title":"チャット"},"exporter":{"export":"エクスポート","processing":"処理中です。処理が完了すると、ファイルをダウンロードするよう指示があります"},"features_panel":{"chat":"チャット","gopher":"Gopher","media_proxy":"メディアプロクシ","scope_options":"公開範囲選択","text_limit":"文字の数","title":"有効な機能","who_to_follow":"おすすめユーザー","upload_limit":"ファイルサイズの上限","pleroma_chat_messages":"Pleroma チャット"},"finder":{"error_fetching_user":"ユーザー検索がエラーになりました","find_user":"ユーザーを探す"},"general":{"apply":"適用","submit":"送信","more":"続き","generic_error":"エラーになりました","optional":"省略可","show_more":"もっと見る","show_less":"たたむ","cancel":"キャンセル","disable":"無効","enable":"有効","confirm":"確認","verify":"検査","peek":"隠す","close":"閉じる","dismiss":"無視","retry":"もう一度お試し下さい","error_retry":"もう一度お試し下さい","loading":"読み込み中…","role":{"moderator":"モデレーター","admin":"管理者"}},"image_cropper":{"crop_picture":"画像を切り抜く","save":"保存","save_without_cropping":"切り抜かずに保存","cancel":"キャンセル"},"importer":{"submit":"送信","success":"正常にインポートされました。","error":"このファイルをインポートするとき、エラーが発生しました。"},"login":{"login":"ログイン","description":"OAuthでログイン","logout":"ログアウト","password":"パスワード","placeholder":"例: lain","register":"登録","username":"ユーザー名","hint":"会話に加わるには、ログインしてください","authentication_code":"認証コード","enter_recovery_code":"リカバリーコードを入力してください","enter_two_factor_code":"2段階認証コードを入力してください","recovery_code":"リカバリーコード","heading":{"totp":"2段階認証","recovery":"2段階リカバリー"}},"media_modal":{"previous":"前","next":"次"},"nav":{"about":"このインスタンスについて","back":"戻る","chat":"ローカルチャット","friend_requests":"フォローリクエスト","mentions":"通知","interactions":"インタラクション","dms":"ダイレクトメッセージ","public_tl":"公開タイムライン","timeline":"タイムライン","twkn":"すべてのネットワーク","user_search":"ユーザーを探す","search":"検索","who_to_follow":"おすすめユーザー","preferences":"設定","administration":"管理","bookmarks":"ブックマーク","timelines":"タイムライン","chats":"チャット","home_timeline":"ホームタイムライン"},"notifications":{"broken_favorite":"ステータスが見つかりません。探しています…","favorited_you":"あなたのステータスがお気に入りされました","followed_you":"フォローされました","load_older":"古い通知をみる","notifications":"通知","read":"読んだ!","repeated_you":"あなたのステータスがリピートされました","no_more_notifications":"通知はありません","reacted_with":"{0} でリアクションしました","migrated_to":"インスタンスを引っ越しました","follow_request":"あなたをフォローしたいです","error":"通知の取得に失敗しました: {0}"},"polls":{"add_poll":"投票を追加","add_option":"選択肢を追加","option":"選択肢","votes":"票","vote":"投票","type":"投票の形式","single_choice":"択一式","multiple_choices":"複数選択式","expiry":"投票期間","expires_in":"投票は {0} で終了します","expired":"投票は {0} 前に終了しました","not_enough_options":"相異なる選択肢が不足しています","votes_count":"{count} 票 | {count} 票","people_voted_count":"{count} 人投票 | {count} 人投票"},"emoji":{"stickers":"ステッカー","emoji":"絵文字","keep_open":"ピッカーを開いたままにする","search_emoji":"絵文字を検索","add_emoji":"絵文字を挿入","custom":"カスタム絵文字","unicode":"Unicode絵文字","load_all":"全 {emojiAmount} 絵文字を読み込む","load_all_hint":"最初の {saneAmount} 絵文字を読み込みました、全て読み込むと重くなる可能性があります。"},"stickers":{"add_sticker":"ステッカーを追加"},"interactions":{"favs_repeats":"リピートとお気に入り","follows":"新しいフォロワー","load_older":"古いインタラクションを見る","moves":"ユーザーの引っ越し"},"post_status":{"new_status":"投稿する","account_not_locked_warning":"あなたのアカウントは {0} ではありません。あなたをフォローすれば、誰でも、フォロワー限定のステータスを読むことができます。","account_not_locked_warning_link":"ロックされたアカウント","attachments_sensitive":"ファイルをNSFWにする","content_type":{"text/plain":"プレーンテキスト","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},"content_warning":"説明 (省略可)","default":"羽田空港に着きました。","direct_warning_to_all":"この投稿は、メンションされたすべてのユーザーが、見ることができます。","direct_warning_to_first_only":"この投稿は、メッセージの冒頭でメンションされたユーザーだけが、見ることができます。","direct_warning":"このステータスは、メンションされたユーザーだけが、読むことができます。","posting":"投稿","scope_notice":{"public":"この投稿は、誰でも見ることができます","private":"この投稿は、あなたのフォロワーだけが、見ることができます","unlisted":"この投稿は、パブリックタイムラインと、接続しているすべてのネットワークには、表示されません"},"scope":{"direct":"ダイレクト: メンションされたユーザーのみに届きます","private":"フォロワー限定: フォロワーのみに届きます","public":"パブリック: 公開タイムラインに届きます","unlisted":"アンリステッド: 公開タイムラインに届きません"},"media_description_error":"メディアのアップロードに失敗しました。もう一度お試しください","empty_status_error":"投稿内容を入力してください","preview_empty":"何もありません","preview":"プレビュー","media_description":"メディアの説明","post":"投稿"},"registration":{"bio":"プロフィール","email":"Eメール","fullname":"スクリーンネーム","password_confirm":"パスワードの確認","registration":"登録","token":"招待トークン","captcha":"CAPTCHA","new_captcha":"文字が読めないときは、画像をクリックすると、新しい画像になります","username_placeholder":"例: lain","fullname_placeholder":"例: 岩倉玲音","bio_placeholder":"例:\\nこんにちは。私は玲音。\\n私はアニメのキャラクターで、日本の郊外に住んでいます。私をWiredで見たことがあるかもしれません。","validations":{"username_required":"必須","fullname_required":"必須","email_required":"必須","password_required":"必須","password_confirmation_required":"必須","password_confirmation_match":"パスワードが違います"},"reason_placeholder":"このインスタンスは、新規登録を手動で受け付けています。\\n登録したい理由を、インスタンスの管理者に教えてください。","reason":"登録するための目的","register":"登録"},"selectable_list":{"select_all":"すべて選択"},"settings":{"app_name":"アプリの名称","security":"セキュリティ","enter_current_password_to_confirm":"あなたのアイデンティティを証明するため、現在のパスワードを入力してください","mfa":{"otp":"OTP","setup_otp":"OTPのセットアップ","wait_pre_setup_otp":"OTPのプリセット","confirm_and_enable":"OTPの確認と有効化","title":"2段階認証","generate_new_recovery_codes":"新しいリカバリーコードを生成","warning_of_generate_new_codes":"新しいリカバリーコードを生成すると、古いコードは使用できなくなります。","recovery_codes":"リカバリーコード。","waiting_a_recovery_codes":"バックアップコードを受信しています…","recovery_codes_warning":"コードを紙に書くか、安全な場所に保存してください。そうでなければ、あなたはコードを再び見ることはできません。もし2段階認証アプリのアクセスを喪失し、なおかつ、リカバリーコードもないならば、あなたは自分のアカウントから閉め出されます。","authentication_methods":"認証方法","scan":{"title":"スキャン","desc":"あなたの2段階認証アプリを使って、このQRコードをスキャンするか、テキストキーを入力してください:","secret_code":"キー"},"verify":{"desc":"2段階認証を有効にするには、あなたの2段階認証アプリのコードを入力してください:"}},"attachmentRadius":"ファイル","attachments":"ファイル","avatar":"アバター","avatarAltRadius":"通知のアバター","avatarRadius":"アバター","background":"バックグラウンド","bio":"プロフィール","block_export":"ブロックのエクスポート","block_export_button":"ブロックをCSVファイルにエクスポートする","block_import":"ブロックのインポート","block_import_error":"ブロックのインポートに失敗しました","blocks_imported":"ブロックをインポートしました! 実際に処理されるまでに、しばらく時間がかかります。","blocks_tab":"ブロック","btnRadius":"ボタン","cBlue":"返信とフォロー","cGreen":"リピート","cOrange":"お気に入り","cRed":"キャンセル","change_password":"パスワードを変える","change_password_error":"パスワードを変えることが、できなかったかもしれません。","changed_password":"パスワードが、変わりました!","collapse_subject":"説明のある投稿をたたむ","composing":"投稿","confirm_new_password":"新しいパスワードの確認","current_avatar":"現在のアバター","current_password":"現在のパスワード","current_profile_banner":"現在のプロフィールバナー","data_import_export_tab":"インポートとエクスポート","default_vis":"デフォルトの公開範囲","delete_account":"アカウントを消す","delete_account_description":"あなたのデータが消えて、アカウントが使えなくなります。","delete_account_error":"アカウントを消すことが、できなかったかもしれません。インスタンスの管理者に、連絡してください。","delete_account_instructions":"本当にアカウントを消してもいいなら、パスワードを入力してください。","discoverable":"検索などのサービスでこのアカウントを見つけることを許可する","avatar_size_instruction":"アバターの大きさは、150×150ピクセルか、それよりも大きくするといいです。","pad_emoji":"ピッカーから絵文字を挿入するとき、絵文字の両側にスペースを入れる","export_theme":"保存","filtering":"フィルタリング","filtering_explanation":"これらの言葉を含むすべてのものがミュートされます。1行に1つの言葉を書いてください","follow_export":"フォローのエクスポート","follow_export_button":"エクスポート","follow_export_processing":"お待ちください。まもなくファイルをダウンロードできます。","follow_import":"フォローのインポート","follow_import_error":"フォローのインポートがエラーになりました","follows_imported":"フォローがインポートされました! 少し時間がかかるかもしれません。","foreground":"フォアグラウンド","general":"全般","hide_attachments_in_convo":"スレッドのファイルを隠す","hide_attachments_in_tl":"タイムラインのファイルを隠す","hide_muted_posts":"ミュートしているユーザーの投稿を隠す","max_thumbnails":"投稿に含まれるサムネイルの最大数","hide_isp":"インスタンス固有パネルを隠す","preload_images":"画像を先読みする","use_one_click_nsfw":"NSFWなファイルを1クリックで開く","hide_post_stats":"投稿の統計を隠す (例: お気に入りの数)","hide_user_stats":"ユーザーの統計を隠す (例: フォロワーの数)","hide_filtered_statuses":"フィルターされた投稿を隠す","import_blocks_from_a_csv_file":"CSVファイルからブロックをインポートする","import_followers_from_a_csv_file":"CSVファイルからフォローをインポートする","import_theme":"ロード","inputRadius":"インプットフィールド","checkboxRadius":"チェックボックス","instance_default":"(デフォルト: {value})","instance_default_simple":"(デフォルト)","interface":"インターフェース","interfaceLanguage":"インターフェースの言語","invalid_theme_imported":"このファイルはPleromaのテーマではありません。テーマは変更されませんでした。","limited_availability":"あなたのブラウザではできません","links":"リンク","lock_account_description":"あなたが認めた人だけ、あなたのアカウントをフォローできる","loop_video":"ビデオを繰り返す","loop_video_silent_only":"音のないビデオだけ繰り返す","mutes_tab":"ミュート","play_videos_in_modal":"ビデオをメディアビューアーで見る","use_contain_fit":"画像のサムネイルを、切り抜かない","name":"名前","name_bio":"名前とプロフィール","new_password":"新しいパスワード","notification_visibility":"表示する通知","notification_visibility_follows":"フォロー","notification_visibility_likes":"お気に入り","notification_visibility_mentions":"メンション","notification_visibility_repeats":"リピート","no_rich_text_description":"リッチテキストを使わない","no_blocks":"ブロックはありません","no_mutes":"ミュートはありません","hide_follows_description":"フォローしている人を見せない","hide_followers_description":"フォロワーを見せない","hide_follows_count_description":"フォローしている人の数を見せない","hide_followers_count_description":"フォロワーの数を見せない","show_admin_badge":"\\"管理者\\"のバッジを見せる","show_moderator_badge":"\\"モデレーター\\"のバッジを見せる","nsfw_clickthrough":"NSFWなファイルを隠す","oauth_tokens":"OAuthトークン","token":"トークン","refresh_token":"トークンを更新","valid_until":"まで有効","revoke_token":"取り消す","panelRadius":"パネル","pause_on_unfocused":"タブにフォーカスがないときストリーミングを止める","presets":"プリセット","profile_background":"プロフィールの背景","profile_banner":"プロフィールのバナー","profile_tab":"プロフィール","radii_help":"インターフェースの丸さを設定する","replies_in_timeline":"タイムラインのリプライ","reply_visibility_all":"すべてのリプライを見る","reply_visibility_following":"私に宛てられたリプライと、フォローしている人からのリプライを見る","reply_visibility_self":"私に宛てられたリプライを見る","autohide_floating_post_button":"新しい投稿ボタンを自動的に隠す (モバイル)","saving_err":"設定を保存できませんでした","saving_ok":"設定を保存しました","search_user_to_block":"ブロックしたいユーザーを検索","search_user_to_mute":"ミュートしたいユーザーを検索","security_tab":"セキュリティ","scope_copy":"返信するとき、公開範囲をコピーする (DMの公開範囲は、常にコピーされます)","minimal_scopes_mode":"公開範囲選択オプションを最小にする","set_new_avatar":"新しいアバターを設定する","set_new_profile_background":"新しいプロフィールのバックグラウンドを設定する","set_new_profile_banner":"新しいプロフィールバナーを設定する","settings":"設定","subject_input_always_show":"サブジェクトフィールドをいつでも表示する","subject_line_behavior":"返信するときサブジェクトをコピーする","subject_line_email":"メール風: \\"re: サブジェクト\\"","subject_line_mastodon":"マストドン風: そのままコピー","subject_line_noop":"コピーしない","post_status_content_type":"投稿のコンテントタイプ","stop_gifs":"カーソルを重ねたとき、GIFを動かす","streaming":"上までスクロールしたとき、自動的にストリーミングする","text":"文字","theme":"テーマ","theme_help":"カラーテーマをカスタマイズできます。","theme_help_v2_1":"チェックボックスをONにすると、コンポーネントごとに、色と透明度をオーバーライドできます。「すべてクリア」ボタンを押すと、すべてのオーバーライドをやめます。","theme_help_v2_2":"バックグラウンドとテキストのコントラストを表すアイコンがあります。マウスをホバーすると、詳しい説明が出ます。透明な色を使っているときは、最悪の場合のコントラストが示されます。","tooltipRadius":"ツールチップとアラート","upload_a_photo":"画像をアップロード","user_settings":"ユーザー設定","values":{"false":"いいえ","true":"はい"},"notifications":"通知","notification_mutes":"特定のユーザーからの通知を止めるには、ミュートしてください。","notification_blocks":"ブロックしているユーザーからの通知は、すべて止まります。","enable_web_push_notifications":"ウェブプッシュ通知を許可する","style":{"switcher":{"keep_color":"色を残す","keep_shadows":"影を残す","keep_opacity":"透明度を残す","keep_roundness":"丸さを残す","keep_fonts":"フォントを残す","save_load_hint":"「残す」オプションをONにすると、テーマを選んだときとロードしたとき、現在の設定を残します。また、テーマをエクスポートするとき、これらのオプションを維持します。すべてのチェックボックスをOFFにすると、テーマをエクスポートしたとき、すべての設定を保存します。","reset":"リセット","clear_all":"すべてクリア","clear_opacity":"透明度をクリア","help":{"snapshot_missing":"テーマのスナップショットがありません。思っていた見た目と違うかもしれません。","migration_snapshot_ok":"念のために、テーマのスナップショットが読み込まれました。テーマのデータを読み込むことができます。","fe_downgraded":"フロントエンドが前のバージョンに戻りました。","fe_upgraded":"フロントエンドと一緒に、テーマエンジンが新しくなりました。","older_version_imported":"古いフロントエンドで作られたファイルをインポートしました。","future_version_imported":"新しいフロントエンドで作られたファイルをインポートしました。","v2_imported":"古いフロントエンドのためのファイルをインポートしました。設定した通りにならないかもしれません。","upgraded_from_v2":"フロントエンドが新しくなったので、今までの見た目と少し違うかもしれません。","snapshot_source_mismatch":"フロントエンドがロールバックと更新を繰り返したため、バージョンが競合しています。","migration_napshot_gone":"スナップショットがありません、覚えているものと見た目が違うかもしれません。","snapshot_present":"テーマのスナップショットが読み込まれました。設定は上書きされました。代わりとして実データを読み込むことができます。"},"use_source":"新しいバージョン","use_snapshot":"古いバージョン","load_theme":"テーマの読み込み","keep_as_is":"変更しない"},"common":{"color":"色","opacity":"透明度","contrast":{"hint":"コントラストは {ratio} です。{level}。({context})","level":{"aa":"AAレベルガイドライン (最低限) を満たします","aaa":"AAAレベルガイドライン (推奨) を満たします","bad":"ガイドラインを満たしません"},"context":{"18pt":"大きい (18ポイント以上) テキスト","text":"テキスト"}}},"common_colors":{"_tab_label":"共通","main":"共通の色","foreground_hint":"「詳細」タブで、もっと細かく設定できます","rgbo":"アイコンとアクセントとバッジ"},"advanced_colors":{"_tab_label":"詳細","alert":"アラートのバックグラウンド","alert_error":"エラー","badge":"バッジのバックグラウンド","badge_notification":"通知","panel_header":"パネルヘッダー","top_bar":"トップバー","borders":"境界","buttons":"ボタン","inputs":"インプットフィールド","faint_text":"薄いテキスト","alert_neutral":"それ以外","chat":{"border":"境界線","outgoing":"送信","incoming":"受信"},"tabs":"タブ","toggled":"切り替えたとき","disabled":"無効なとき","selectedMenu":"選択されたメニューアイテム","selectedPost":"選択された投稿","pressed":"押したとき","highlight":"強調された要素","icons":"アイコン","poll":"投票グラフ","wallpaper":"壁紙","underlay":"アンダーレイ","popover":"ツールチップ、メニュー、ポップオーバー","post":"投稿/プロフィール","alert_warning":"警告"},"radii":{"_tab_label":"丸さ"},"shadows":{"_tab_label":"光と影","component":"コンポーネント","override":"オーバーライド","shadow_id":"影 #{value}","blur":"ぼかし","spread":"広がり","inset":"内側","hint":"影の設定では、色の値として --variable を使うことができます。これはCSS3変数です。ただし、透明度の設定は、効かなくなります。","filter_hint":{"always_drop_shadow":"ブラウザーがサポートしていれば、常に {0} が使われます。","drop_shadow_syntax":"{0} は、{1} パラメーターと {2} キーワードをサポートしていません。","avatar_inset":"内側の影と外側の影を同時に使うと、透明なアバターの表示が乱れます。","spread_zero":"広がりが 0 よりも大きな影は、0 と同じです","inset_classic":"内側の影は {0} を使います"},"components":{"panel":"パネル","panelHeader":"パネルヘッダー","topBar":"トップバー","avatar":"ユーザーアバター (プロフィール)","avatarStatus":"ユーザーアバター (投稿)","popup":"ポップアップとツールチップ","button":"ボタン","buttonHover":"ボタン (ホバー)","buttonPressed":"ボタン (押されているとき)","buttonPressedHover":"ボタン (ホバー、かつ、押されているとき)","input":"インプットフィールド"},"hintV3":"影の場合は、 {0} 表記を使って他の色スロットを使うこともできます。"},"fonts":{"_tab_label":"フォント","help":"「カスタム」を選んだときは、システムにあるフォントの名前を、正しく入力してください。","components":{"interface":"インターフェース","input":"インプットフィールド","post":"投稿","postCode":"等幅 (投稿がリッチテキストであるとき)"},"family":"フォント名","size":"大きさ (px)","weight":"太さ","custom":"カスタム"},"preview":{"header":"プレビュー","content":"本文","error":"エラーの例","button":"ボタン","text":"これは{0}と{1}の例です","mono":"monospace","input":"羽田空港に着きました。","faint_link":"とても助けになるマニュアル","fine_print":"私たちの{0}を、読まないでください!","header_faint":"エラーではありません","checkbox":"利用規約を読みました","link":"ハイパーリンク"}},"version":{"title":"バージョン","backend_version":"バックエンドのバージョン","frontend_version":"フロントエンドのバージョン"},"notification_setting_hide_notification_contents":"送った人と内容を、プッシュ通知に表示しない","notification_setting_privacy":"プライバシー","notification_setting_block_from_strangers":"フォローしていないユーザーからの通知を拒否する","notification_setting_filters":"フィルター","fun":"お楽しみ","virtual_scrolling":"タイムラインの描画を最適化する","type_domains_to_mute":"ミュートしたいドメインを検索","useStreamingApiWarning":"(実験中で、投稿を取りこぼすかもしれないので、おすすめしません)","useStreamingApi":"投稿と通知を、すぐに受け取る","user_mutes":"ユーザー","reset_background_confirm":"本当にバックグラウンドを初期化しますか?","reset_banner_confirm":"本当にバナーを初期化しますか?","reset_avatar_confirm":"本当にアバターを初期化しますか?","hide_wallpaper":"インスタンスのバックグラウンドを隠す","reset_profile_background":"プロフィールのバックグラウンドを初期化","reset_profile_banner":"プロフィールのバナーを初期化","reset_avatar":"アバターを初期化","notification_visibility_emoji_reactions":"リアクション","notification_visibility_moves":"ユーザーの引っ越し","new_email":"新しいメールアドレス","profile_fields":{"value":"内容","name":"ラベル","add_field":"枠を追加","label":"プロフィール補足情報"},"accent":"アクセント","mutes_imported":"ミュートをインポートしました!少し時間がかかるかもしれません。","emoji_reactions_on_timeline":"絵文字リアクションをタイムラインに表示","domain_mutes":"ドメイン","mutes_and_blocks":"ミュートとブロック","chatMessageRadius":"チャットメッセージ","change_email_error":"メールアドレスを変えることが、できなかったかもしれません。","changed_email":"メールアドレスが、変わりました!","change_email":"メールアドレスを変える","bot":"これは bot アカウントです","mute_export_button":"ミュートをCSVファイルにエクスポートする","import_mutes_from_a_csv_file":"CSVファイルからミュートをインポートする","mute_import_error":"ミュートのインポートに失敗しました","mute_import":"ミュートのインポート","mute_export":"ミュートのエクスポート","allow_following_move":"フォロー中のアカウントが引っ越したとき、自動フォローを許可する","setting_changed":"規定の設定と異なっています","greentext":"引用を緑色で表示","sensitive_by_default":"はじめから投稿をセンシティブとして設定","more_settings":"その他の設定","reply_visibility_self_short":"自分宛のリプライを見る","reply_visibility_following_short":"フォローしている人に宛てられたリプライを見る","hide_all_muted_posts":"ミュートした投稿を隠す","hide_media_previews":"メディアのプレビューを隠す","word_filter":"単語フィルタ","file_export_import":{"errors":{"invalid_file":"これはPleromaの設定をバックアップしたファイルではありません。"},"restore_settings":"設定をファイルから復元する","backup_settings_theme":"テーマを含む設定をファイルにバックアップする","backup_settings":"設定をファイルにバックアップする","backup_restore":"設定をバックアップ"},"save":"変更を保存"},"time":{"day":"{0}日","days":"{0}日","day_short":"{0}日","days_short":"{0}日","hour":"{0}時間","hours":"{0}時間","hour_short":"{0}時間","hours_short":"{0}時間","in_future":"{0}で","in_past":"{0}前","minute":"{0}分","minutes":"{0}分","minute_short":"{0}分","minutes_short":"{0}分","month":"{0}ヶ月前","months":"{0}ヶ月前","month_short":"{0}ヶ月前","months_short":"{0}ヶ月前","now":"たった今","now_short":"たった今","second":"{0}秒","seconds":"{0}秒","second_short":"{0}秒","seconds_short":"{0}秒","week":"{0}週間","weeks":"{0}週間","week_short":"{0}週間","weeks_short":"{0}週間","year":"{0}年","years":"{0}年","year_short":"{0}年","years_short":"{0}年"},"timeline":{"collapse":"たたむ","conversation":"スレッド","error_fetching":"読み込みがエラーになりました","load_older":"古いステータス","no_retweet_hint":"投稿を「フォロワーのみ」または「ダイレクト」にすると、リピートできなくなります","repeated":"リピート","show_new":"読み込み","up_to_date":"最新","no_more_statuses":"これで終わりです","no_statuses":"ステータスはありません","reload":"再読み込み","error":"タイムラインの読み込みに失敗しました: {0}"},"status":{"favorites":"お気に入り","repeats":"リピート","delete":"ステータスを削除","pin":"プロフィールにピン留め","unpin":"プロフィールのピン留めを外す","pinned":"ピン留め","delete_confirm":"本当にこのステータスを削除してもよろしいですか?","reply_to":"返信","replies_list":"返信:","mute_conversation":"スレッドをミュート","unmute_conversation":"スレッドのミュートを解除","nsfw":"閲覧注意","expand":"広げる","status_deleted":"この投稿は削除されました","hide_content":"隠す","show_content":"見る","hide_full_subject":"隠す","show_full_subject":"全部見る","thread_muted_and_words":"以下の単語を含むため:","thread_muted":"ミュートされたスレッド","external_source":"外部ソース","copy_link":"リンクをコピー","status_unavailable":"利用できません","unbookmark":"ブックマーク解除","bookmark":"ブックマーク"},"user_card":{"approve":"受け入れ","block":"ブロック","blocked":"ブロックしています!","deny":"お断り","favorites":"お気に入り","follow":"フォロー","follow_sent":"リクエストを送りました!","follow_progress":"リクエストしています…","follow_unfollow":"フォローをやめる","followees":"フォロー","followers":"フォロワー","following":"フォローしています!","follows_you":"フォローされました!","its_you":"これはあなたです!","media":"メディア","mention":"メンション","mute":"ミュート","muted":"ミュートしています","per_day":"/日","remote_follow":"リモートフォロー","report":"通報","statuses":"ステータス","subscribe":"購読","unsubscribe":"購読を解除","unblock":"ブロック解除","unblock_progress":"ブロックを解除しています…","block_progress":"ブロックしています…","unmute":"ミュート解除","unmute_progress":"ミュートを解除しています…","mute_progress":"ミュートしています…","admin_menu":{"moderation":"モデレーション","grant_admin":"管理者権限を付与","revoke_admin":"管理者権限を解除","grant_moderator":"モデレーター権限を付与","revoke_moderator":"モデレーター権限を解除","activate_account":"アカウントをアクティブにする","deactivate_account":"アカウントをアクティブでなくする","delete_account":"アカウントを削除","force_nsfw":"すべての投稿をNSFWにする","strip_media":"投稿からメディアを除去する","force_unlisted":"投稿を未収載にする","sandbox":"投稿をフォロワーのみにする","disable_remote_subscription":"他のインスタンスからフォローされないようにする","disable_any_subscription":"フォローされないようにする","quarantine":"他のインスタンスからの投稿を止める","delete_user":"ユーザーを削除","delete_user_confirmation":"あなたの精神状態に何か問題はございませんか? この操作を取り消すことはできません。"},"roles":{"moderator":"モデレーター","admin":"管理者"},"show_repeats":"リピートを見る","hide_repeats":"リピートを隠す","message":"メッセージ","hidden":"隠す","bot":"bot","highlight":{"solid":"背景を単色にする","striped":"背景を縞模様にする","side":"端に線を付ける","disabled":"強調しない"}},"user_profile":{"timeline_title":"ユーザータイムライン","profile_does_not_exist":"申し訳ない。このプロフィールは存在しません。","profile_loading_error":"申し訳ない。プロフィールの読み込みがエラーになりました。"},"user_reporting":{"title":"通報する: {0}","add_comment_description":"この通報は、あなたのインスタンスのモデレーターに送られます。このアカウントを通報する理由を説明することができます:","additional_comments":"追加のコメント","forward_description":"このアカウントは他のサーバーに置かれています。この通報のコピーをリモートのサーバーに送りますか?","forward_to":"転送する: {0}","submit":"送信","generic_error":"あなたのリクエストを処理しようとしましたが、エラーになりました。"},"who_to_follow":{"more":"詳細","who_to_follow":"おすすめユーザー"},"tool_tip":{"media_upload":"メディアをアップロード","repeat":"リピート","reply":"返信","favorite":"お気に入り","user_settings":"ユーザー設定","bookmark":"ブックマーク","reject_follow_request":"フォローリクエストを拒否","accept_follow_request":"フォローリクエストを許可","add_reaction":"リアクションを追加"},"upload":{"error":{"base":"アップロードに失敗しました。","file_too_big":"ファイルが大きすぎます [{filesize} {filesizeunit} / {allowedsize} {allowedsizeunit}]","default":"しばらくしてから試してください","message":"アップロードに失敗: {0}"},"file_size_units":{"B":"B","KiB":"KiB","MiB":"MiB","GiB":"GiB","TiB":"TiB"}},"search":{"people":"人々","hashtags":"ハッシュタグ","person_talking":"{count} 人が話しています","people_talking":"{count} 人が話しています","no_results":"見つかりませんでした"},"password_reset":{"forgot_password":"パスワードを忘れましたか?","password_reset":"パスワードリセット","instruction":"メールアドレスまたはユーザー名を入力してください。パスワードをリセットするためのリンクを送信します。","placeholder":"メールアドレスまたはユーザー名","check_email":"パスワードをリセットするためのリンクが記載されたメールが届いているか確認してください。","return_home":"ホームページに戻る","too_many_requests":"試行回数の制限に達しました。しばらく時間を置いてから再試行してください。","password_reset_disabled":"このインスタンスではパスワードリセットは無効になっています。インスタンスの管理者に連絡してください。","password_reset_required_but_mailer_is_disabled":"パスワードの初期化が必要ですが、初期化は使えません。インスタンスの管理者に連絡してください。","password_reset_required":"ログインするためにパスワードを初期化してください。"},"about":{"mrf":{"mrf_policies_desc":"MRFポリシーは、インスタンスの振る舞いを操作します。以下のポリシーが有効になっています:","federation":"連合","simple":{"media_nsfw_desc":"このインスタンスでは、以下のインスタンスからの投稿に対して、メディアを閲覧注意に設定します:","media_nsfw":"メディアを閲覧注意に設定","media_removal_desc":"このインスタンスでは、以下のインスタンスからの投稿に対して、メディアを除去します:","media_removal":"メディア除去","ftl_removal":"「既知のネットワーク」タイムラインから除外","ftl_removal_desc":"このインスタンスでは、以下のインスタンスを「既知のネットワーク」タイムラインから除外します:","quarantine_desc":"このインスタンスでは、以下のインスタンスに対して公開投稿のみを送信します:","quarantine":"検疫","reject_desc":"このインスタンスでは、以下のインスタンスからのメッセージを受け付けません:","accept_desc":"このインスタンスでは、以下のインスタンスからのメッセージのみを受け付けます:","accept":"許可","simple_policies":"インスタンス固有のポリシー","reject":"拒否"},"mrf_policies":"有効なMRFポリシー","keyword":{"replace":"置き換え","ftl_removal":"「接続しているすべてのネットワーク」タイムラインから除外","keyword_policies":"キーワードポリシー","is_replaced_by":"→","reject":"拒否"}},"staff":"スタッフ"},"display_date":{"today":"今日"},"file_type":{"file":"ファイル","image":"画像","video":"ビデオ","audio":"オーディオ"},"remote_user_resolver":{"error":"見つかりませんでした。","searching_for":"検索中","remote_user_resolver":"リモートユーザーリゾルバ"},"errors":{"storage_unavailable":"ブラウザのストレージに接続できなかったため、ログインや設定情報は保存されません。Cookieを有効にしてください。"},"shoutbox":{"title":"Shoutbox"},"chats":{"empty_chat_list_placeholder":"チャットはありません。新規チャットのボタンを押して始めましょう!","error_sending_message":"メッセージの送信に失敗しました。","error_loading_chat":"チャットの読み込みに失敗しました。","delete_confirm":"このメッセージを本当に消してもいいですか?","more":"もっと見る","empty_message_error":"メッセージを入力して下さい","new":"新規チャット","chats":"チャット一覧","delete":"削除","message_user":"{nickname} にメッセージ","you":"あなた:"},"domain_mute_card":{"unmute_progress":"ミュート解除中…","unmute":"ミュート解除","mute_progress":"ミュート中…","mute":"ミュート"}}')}}]); +//# sourceMappingURL=20.683b112f4dcea887f707.js.map \ No newline at end of file diff --git a/priv/static/static/js/20.683b112f4dcea887f707.js.map b/priv/static/static/js/20.683b112f4dcea887f707.js.map new file mode 100644 index 000000000..094f913db --- /dev/null +++ b/priv/static/static/js/20.683b112f4dcea887f707.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/20.683b112f4dcea887f707.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/20.abb0d332055536a87c38.js.map b/priv/static/static/js/20.abb0d332055536a87c38.js.map deleted file mode 100644 index 55c20779e..000000000 --- a/priv/static/static/js/20.abb0d332055536a87c38.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/20.abb0d332055536a87c38.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/21.6e952388ef8d5a0276dc.js.map b/priv/static/static/js/21.6e952388ef8d5a0276dc.js.map deleted file mode 100644 index 22d29b80c..000000000 --- a/priv/static/static/js/21.6e952388ef8d5a0276dc.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/21.6e952388ef8d5a0276dc.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/21.6e952388ef8d5a0276dc.js b/priv/static/static/js/21.b2844ccdcfc3c8191e8e.js similarity index 77% rename from priv/static/static/js/21.6e952388ef8d5a0276dc.js rename to priv/static/static/js/21.b2844ccdcfc3c8191e8e.js index 27ab1f65e..c363a2197 100644 --- a/priv/static/static/js/21.6e952388ef8d5a0276dc.js +++ b/priv/static/static/js/21.b2844ccdcfc3c8191e8e.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{601:function(e){e.exports=JSON.parse('{"chat":{"title":"챗"},"features_panel":{"chat":"챗","gopher":"고퍼","media_proxy":"미디어 프록시","scope_options":"범위 옵션","text_limit":"텍스트 제한","title":"기능","who_to_follow":"팔로우 추천","upload_limit":"최대 파일용량","pleroma_chat_messages":"Pleroma 채트"},"finder":{"error_fetching_user":"사용자 정보 불러오기 실패","find_user":"사용자 찾기"},"general":{"apply":"적용","submit":"보내기","loading":"로딩중…","peek":"숨기기","close":"닫기","verify":"검사","confirm":"확인","enable":"유효","disable":"무효","cancel":"취소","dismiss":"무시","show_less":"접기","show_more":"더 보기","optional":"필수 아님","retry":"다시 시도하십시오","error_retry":"다시 시도하십시오","generic_error":"잘못되었습니다","more":"더 보기","role":{"moderator":"중재자","admin":"관리자"}},"login":{"login":"로그인","description":"OAuth로 로그인","logout":"로그아웃","password":"암호","placeholder":"예시: lain","register":"가입","username":"사용자 이름","heading":{"recovery":"2단계 복구","totp":"2단계인증"},"recovery_code":"복구 코드","enter_two_factor_code":"2단계인증 코드를 입력하십시오","enter_recovery_code":"복구 코드를 입력하십시오","authentication_code":"인증 코드","hint":"로그인하여 대화에 참가합시다"},"nav":{"about":"인스턴스 소개","back":"뒤로","chat":"로컬 챗","friend_requests":"팔로우 요청","mentions":"멘션","dms":"다이렉트 메시지","public_tl":"공개 타임라인","timeline":"타임라인","twkn":"알려진 네트워크","user_search":"사용자 검색","preferences":"환경설정","chats":"채트","timelines":"타임라인","who_to_follow":"추천된 사용자","search":"검색","bookmarks":"북마크","interactions":"대화","administration":"관리","home_timeline":"홈 타임라인"},"notifications":{"broken_favorite":"알 수 없는 게시물입니다, 검색합니다…","favorited_you":"당신의 게시물을 즐겨찾기","followed_you":"당신을 팔로우","load_older":"오래 된 알림 불러오기","notifications":"알림","read":"읽음!","repeated_you":"당신의 게시물을 리핏","no_more_notifications":"알림이 없습니다","migrated_to":"이사했습니다","reacted_with":"{0} 로 반응했습니다","error":"알림 불러오기 실패: {0}","follow_request":"당신에게 팔로우 신청"},"post_status":{"new_status":"새 게시물 게시","account_not_locked_warning":"당신의 계정은 {0} 상태가 아닙니다. 누구나 당신을 팔로우 하고 팔로워 전용 게시물을 볼 수 있습니다.","account_not_locked_warning_link":"잠김","attachments_sensitive":"첨부물을 민감함으로 설정","content_type":{"text/plain":"평문","text/bbcode":"BBCode","text/markdown":"Markdown","text/html":"HTML"},"content_warning":"주제 (필수 아님)","default":"인천공항에 도착했습니다.","direct_warning":"이 게시물을 멘션 된 사용자들에게만 보여집니다","posting":"게시","scope":{"direct":"다이렉트 - 멘션 된 사용자들에게만","private":"팔로워 전용 - 팔로워들에게만","public":"공개 - 공개 타임라인으로","unlisted":"비공개 - 공개 타임라인에 게시 안 함"},"preview_empty":"아무것도 없습니다","preview":"미리보기","scope_notice":{"public":"이 글은 누구나 볼 수 있습니다"},"media_description_error":"파일을 올리지 못하였습니다. 다시한번 시도하여 주십시오","empty_status_error":"글을 입력하십시오","media_description":"첨부파일 설명"},"registration":{"bio":"소개","email":"이메일","fullname":"표시 되는 이름","password_confirm":"암호 확인","registration":"가입하기","token":"초대 토큰","captcha":"캡차","new_captcha":"이미지를 클릭해서 새로운 캡차","validations":{"username_required":"공백으로 둘 수 없습니다","fullname_required":"공백으로 둘 수 없습니다","email_required":"공백으로 둘 수 없습니다","password_required":"공백으로 둘 수 없습니다","password_confirmation_required":"공백으로 둘 수 없습니다","password_confirmation_match":"패스워드와 일치해야 합니다"},"fullname_placeholder":"예: 김례인","username_placeholder":"예: lain"},"settings":{"attachmentRadius":"첨부물","attachments":"첨부물","avatar":"아바타","avatarAltRadius":"아바타 (알림)","avatarRadius":"아바타","background":"배경","bio":"소개","btnRadius":"버튼","cBlue":"파랑 (답글, 팔로우)","cGreen":"초록 (리트윗)","cOrange":"주황 (즐겨찾기)","cRed":"빨강 (취소)","change_password":"암호 바꾸기","change_password_error":"암호를 바꾸는 데 몇 가지 문제가 있습니다.","changed_password":"암호를 바꾸었습니다!","collapse_subject":"주제를 가진 게시물 접기","composing":"작성","confirm_new_password":"새 패스워드 확인","current_avatar":"현재 아바타","current_password":"현재 패스워드","current_profile_banner":"현재 프로필 배너","data_import_export_tab":"데이터 불러오기 / 내보내기","default_vis":"기본 공개 범위","delete_account":"계정 삭제","delete_account_description":"데이터가 영구히 삭제되고 계정이 불활성화됩니다.","delete_account_error":"계정을 삭제하는데 문제가 있습니다. 계속 발생한다면 인스턴스 관리자에게 문의하세요.","delete_account_instructions":"계정 삭제를 확인하기 위해 아래에 패스워드 입력.","export_theme":"프리셋 저장","filtering":"필터링","filtering_explanation":"아래의 단어를 가진 게시물들은 뮤트 됩니다, 한 줄에 하나씩 적으세요","follow_export":"팔로우 내보내기","follow_export_button":"팔로우 목록을 csv로 내보내기","follow_export_processing":"진행 중입니다, 곧 다운로드 가능해 질 것입니다","follow_import":"팔로우 불러오기","follow_import_error":"팔로우 불러오기 실패","follows_imported":"팔로우 목록을 불러왔습니다! 처리에는 시간이 걸립니다.","foreground":"전경","general":"일반","hide_attachments_in_convo":"대화의 첨부물 숨기기","hide_attachments_in_tl":"타임라인의 첨부물 숨기기","hide_isp":"인스턴스 전용 패널 숨기기","preload_images":"이미지 미리 불러오기","hide_post_stats":"게시물 통계 숨기기 (즐겨찾기 수 등)","hide_user_stats":"사용자 통계 숨기기 (팔로워 수 등)","import_followers_from_a_csv_file":"csv 파일에서 팔로우 목록 불러오기","import_theme":"프리셋 불러오기","inputRadius":"입력 칸","checkboxRadius":"체크박스","instance_default":"(기본: {value})","instance_default_simple":"(기본)","interface":"인터페이스","interfaceLanguage":"인터페이스 언어","invalid_theme_imported":"선택한 파일은 지원하는 플레로마 테마가 아닙니다. 아무런 변경도 일어나지 않았습니다.","limited_availability":"이 브라우저에서 사용 불가","links":"링크","lock_account_description":"계정을 승인 된 팔로워들로 제한","loop_video":"비디오 반복재생","loop_video_silent_only":"소리가 없는 비디오만 반복 재생 (마스토돈의 \\"gifs\\" 같은 것들)","name":"이름","name_bio":"이름 & 소개","new_password":"새 암호","notification_visibility":"보여 줄 알림 종류","notification_visibility_follows":"팔로우","notification_visibility_likes":"좋아함","notification_visibility_mentions":"멘션","notification_visibility_repeats":"반복","no_rich_text_description":"모든 게시물의 서식을 지우기","hide_follows_description":"내가 팔로우하는 사람을 표시하지 않음","hide_followers_description":"나를 따르는 사람을 숨기기","nsfw_clickthrough":"NSFW 이미지 \\"클릭해서 보이기\\"를 활성화","oauth_tokens":"OAuth 토큰","token":"토큰","refresh_token":"토큰 새로 고침","valid_until":"까지 유효하다","revoke_token":"취소","panelRadius":"패널","pause_on_unfocused":"탭이 활성 상태가 아닐 때 스트리밍 멈추기","presets":"프리셋","profile_background":"프로필 배경","profile_banner":"프로필 배너","profile_tab":"프로필","radii_help":"인터페이스 모서리 둥글기 (픽셀 단위)","replies_in_timeline":"답글을 타임라인에","reply_visibility_all":"모든 답글 보기","reply_visibility_following":"나에게 직접 오는 답글이나 내가 팔로우 중인 사람에게서 오는 답글만 표시","reply_visibility_self":"나에게 직접 전송 된 답글만 보이기","saving_err":"설정 저장 실패","saving_ok":"설정 저장 됨","security_tab":"보안","scope_copy":"답글을 달 때 공개 범위 따라가리 (다이렉트 메시지는 언제나 따라감)","set_new_avatar":"새 아바타 설정","set_new_profile_background":"새 프로필 배경 설정","set_new_profile_banner":"새 프로필 배너 설정","settings":"설정","subject_input_always_show":"항상 주제 칸 보이기","subject_line_behavior":"답글을 달 때 주제 복사하기","subject_line_email":"이메일처럼: \\"re: 주제\\"","subject_line_mastodon":"마스토돈처럼: 그대로 복사","subject_line_noop":"복사 안 함","stop_gifs":"GIF파일에 마우스를 올려서 재생","streaming":"최상단에 도달하면 자동으로 새 게시물 스트리밍","text":"텍스트","theme":"테마","theme_help":"16진수 색상코드(#rrggbb)를 사용해 색상 테마를 커스터마이즈.","theme_help_v2_1":"체크박스를 통해 몇몇 컴포넌트의 색상과 불투명도를 조절 가능, \\"모두 지우기\\" 버튼으로 덮어 씌운 것을 모두 취소.","theme_help_v2_2":"몇몇 입력칸 밑의 아이콘은 전경/배경 대비 관련 표시등입니다, 마우스를 올려 자세한 정보를 볼 수 있습니다. 투명도 대비 표시등이 가장 최악의 경우를 나타낸다는 것을 유의하세요.","tooltipRadius":"툴팁/경고","user_settings":"사용자 설정","values":{"false":"아니오","true":"네"},"notifications":"알림","enable_web_push_notifications":"웹 푸시 알림 활성화","style":{"switcher":{"keep_color":"색상 유지","keep_shadows":"그림자 유지","keep_opacity":"불투명도 유지","keep_roundness":"둥글기 유지","keep_fonts":"글자체 유지","save_load_hint":"\\"유지\\" 옵션들은 다른 테마를 고르거나 불러 올 때 현재 설정 된 옵션들을 건드리지 않게 합니다, 테마를 내보내기 할 때도 이 옵션에 따라 저장합니다. 아무 것도 체크 되지 않았다면 모든 설정을 내보냅니다.","reset":"초기화","clear_all":"모두 지우기","clear_opacity":"불투명도 지우기"},"common":{"color":"색상","opacity":"불투명도","contrast":{"hint":"대비율이 {ratio}입니다, 이것은 {context} {level}","level":{"aa":"AA등급 가이드라인에 부합합니다 (최소한도)","aaa":"AAA등급 가이드라인에 부합합니다 (권장)","bad":"아무런 가이드라인 등급에도 미치지 못합니다"},"context":{"18pt":"큰 (18pt 이상) 텍스트에 대해","text":"텍스트에 대해"}}},"common_colors":{"_tab_label":"일반","main":"일반 색상","foreground_hint":"\\"고급\\" 탭에서 더 자세한 설정이 가능합니다","rgbo":"아이콘, 강조, 배지"},"advanced_colors":{"_tab_label":"고급","alert":"주의 배경","alert_error":"에러","badge":"배지 배경","badge_notification":"알림","panel_header":"패널 헤더","top_bar":"상단 바","borders":"테두리","buttons":"버튼","inputs":"입력칸","faint_text":"흐려진 텍스트","chat":{"border":"경계선","outgoing":"송신","incoming":"수신"},"selectedMenu":"선택된 메뉴 요소","selectedPost":"선택된 글","icons":"아이콘","alert_warning":"경고"},"radii":{"_tab_label":"둥글기"},"shadows":{"_tab_label":"그림자와 빛","component":"컴포넌트","override":"덮어쓰기","shadow_id":"그림자 #{value}","blur":"흐리기","spread":"퍼지기","inset":"안쪽으로","hint":"그림자에는 CSS3 변수를 --variable을 통해 색상 값으로 사용할 수 있습니다. 불투명도에는 적용 되지 않습니다.","filter_hint":{"always_drop_shadow":"경고, 이 그림자는 브라우저가 지원하는 경우 항상 {0}을 사용합니다.","drop_shadow_syntax":"{0}는 {1} 파라미터와 {2} 키워드를 지원하지 않습니다.","avatar_inset":"안쪽과 안쪽이 아닌 그림자를 모두 설정하는 경우 투명 아바타에서 예상치 못 한 결과가 나올 수 있다는 것에 주의해 주세요.","spread_zero":"퍼지기가 0보다 큰 그림자는 0으로 설정한 것과 동일하게 보여집니다","inset_classic":"안쪽 그림자는 {0}를 사용합니다"},"components":{"panel":"패널","panelHeader":"패널 헤더","topBar":"상단 바","avatar":"사용자 아바타 (프로필 뷰에서)","avatarStatus":"사용자 아바타 (게시물에서)","popup":"팝업과 툴팁","button":"버튼","buttonHover":"버튼 (마우스 올렸을 때)","buttonPressed":"버튼 (눌렸을 때)","buttonPressedHover":"Button (마우스 올림 + 눌림)","input":"입력칸"}},"fonts":{"_tab_label":"글자체","help":"인터페이스의 요소에 사용 될 글자체를 고르세요. \\"커스텀\\"은 시스템에 있는 폰트 이름을 정확히 입력해야 합니다.","components":{"interface":"인터페이스","input":"입력칸","post":"게시물 텍스트","postCode":"게시물의 고정폭 텍스트 (서식 있는 텍스트)"},"family":"글자체 이름","size":"크기 (px 단위)","weight":"굵기","custom":"커스텀"},"preview":{"header":"미리보기","content":"내용","error":"에러 예시","button":"버튼","text":"더 많은 {0} 그리고 {1}","mono":"내용","input":"인천공항에 도착했습니다.","faint_link":"도움 되는 설명서","fine_print":"우리의 {0} 를 읽고 도움 되지 않는 것들을 배우자!","header_faint":"이건 괜찮아","checkbox":"나는 약관을 대충 훑어보았습니다","link":"작고 귀여운 링크"}},"block_export":"차단 목록 내보내기","mfa":{"scan":{"secret_code":"키","title":"스캔"},"authentication_methods":"인증 방법","waiting_a_recovery_codes":"예비 코드를 수신하고 있습니다…","recovery_codes":"복구 코드.","generate_new_recovery_codes":"새로운 복구 코드를 작성","title":"2단계인증","confirm_and_enable":"OTP 확인과 활성화","setup_otp":"OTP 설치","otp":"OTP"},"security":"보안","emoji_reactions_on_timeline":"이모지 반응을 타임라인으로 표시","avatar_size_instruction":"크기를 150x150 이상으로 설정할 것을 추장합니다.","blocks_tab":"차단","notification_setting_privacy":"보안","user_mutes":"사용자","notification_visibility_emoji_reactions":"반응","profile_fields":{"value":"내용"},"mutes_and_blocks":"침묵과 차단","chatMessageRadius":"챗 메시지","change_email":"메일주소 바꾸기","changed_email":"메일주소가 갱신되었습니다!","bot":"이 계정은 bot입니다","mutes_tab":"침묵","app_name":"앱 이름"},"timeline":{"collapse":"접기","conversation":"대화","error_fetching":"업데이트 불러오기 실패","load_older":"더 오래 된 게시물 불러오기","no_retweet_hint":"팔로워 전용, 다이렉트 메시지는 반복할 수 없습니다","repeated":"반복 됨","show_new":"새로운 것 보기","up_to_date":"최신 상태"},"user_card":{"approve":"승인","block":"차단","blocked":"차단 됨!","deny":"거부","follow":"팔로우","follow_sent":"요청 보내짐!","follow_progress":"요청 중…","follow_again":"요청을 다시 보낼까요?","follow_unfollow":"팔로우 중지","followees":"팔로우 중","followers":"팔로워","following":"팔로우 중!","follows_you":"당신을 팔로우 합니다!","its_you":"당신입니다!","mute":"침묵","muted":"침묵 됨","per_day":"/ 하루","remote_follow":"원격 팔로우","statuses":"게시물"},"user_profile":{"timeline_title":"사용자 타임라인"},"who_to_follow":{"more":"더 보기","who_to_follow":"팔로우 추천"},"tool_tip":{"media_upload":"미디어 업로드","repeat":"반복","reply":"답글","favorite":"즐겨찾기","user_settings":"사용자 설정"},"upload":{"error":{"base":"업로드 실패.","file_too_big":"파일이 너무 커요 [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","default":"잠시 후에 다시 시도해 보세요"},"file_size_units":{"B":"바이트","KiB":"키비바이트","MiB":"메비바이트","GiB":"기비바이트","TiB":"테비바이트"}},"interactions":{"follows":"새 팔로워","favs_repeats":"반복과 즐겨찾기","moves":"계정 통합"},"emoji":{"load_all":"전체 {emojiAmount} 이모지 불러오기","unicode":"Unicode 이모지","custom":"전용 이모지","add_emoji":"이모지 넣기","search_emoji":"이모지 검색","emoji":"이모지","stickers":"스티커"},"polls":{"add_poll":"투표를 추가","votes":"표","vote":"투표","type":"투표 형식","expiry":"투표 기간","votes_count":"{count} 표 | {count} 표","people_voted_count":"{count} 명 투표 | {count} 명 투표","option":"선택지","add_option":"선택지 추가"},"media_modal":{"next":"다음","previous":"이전"},"importer":{"error":"이 파일을 가져올 때 오류가 발생하였습니다.","success":"정상히 불러왔습니다.","submit":"보내기"},"image_cropper":{"cancel":"취소","save_without_cropping":"그대로 저장","save":"저장","crop_picture":"사진 자르기"},"exporter":{"processing":"처리중입니다, 처리가 끝나면 파일을 다운로드하라는 지시가 있겠습니다","export":"내보내기"},"domain_mute_card":{"unmute_progress":"침묵을 해제중…","unmute":"침묵 해제","mute_progress":"침묵으로 설정중…","mute":"침묵"},"about":{"staff":"운영자","mrf":{"simple":{"media_nsfw_desc":"이 인스턴스에서는 아래의 인스턴스로부터 보내온 투고에 붙혀 있는 매체는 민감함으로 설정됩니다:","media_nsfw":"매체를 민감함으로 설정","media_removal_desc":"이 인스턴스에서는 아래의 인스턴스로부터 보내온 투고에 붙혀 있는 매체는 제거됩니다:","media_removal":"매체 제거","ftl_removal_desc":"이 인스턴스에서 아래의 인스턴스들은 \\"알려진 네트워크\\" 타임라인에서 제외됩니다:","ftl_removal":"\\"알려진 네트워크\\" 타임라인에서 제외","quarantine_desc":"이 인스턴스는 아래의 인스턴스에게 공개투고만을 보냅니다:","quarantine":"검역","reject_desc":"이 인스턴스에서는 아래의 인스턴스로부터 보내온 투고를 받아들이지 않습니다:","accept_desc":"이 인스턴스에서는 아래의 인스턴스로부터 보내온 투고만이 접수됩니다:","reject":"거부","accept":"허가","simple_policies":"인스턴스 특유의 폴리시"},"mrf_policies":"사용되는 MRF 폴리시","keyword":{"is_replaced_by":"→","replace":"바꾸기","reject":"거부","ftl_removal":"\\"알려진 모든 네트워크\\" 타임라인에서 제외","keyword_policies":"단어 폴리시"},"federation":"연합"}},"shoutbox":{"title":"Shoutbox"},"time":{"years_short":"{0} 년","year_short":"{0} 년","years":"{0} 년","year":"{0} 년","weeks_short":"{0} 주일","week_short":"{0} 주일","weeks":"{0} 주일","week":"{0} 주일","seconds_short":"{0} 초","second_short":"{0} 초","seconds":"{0} 초","second":"{0} 초","now_short":"방금","now":"방끔","months_short":"{0} 달 전","month_short":"{0} 달 전","months":"{0} 달 전","month":"{0} 달 전","minutes_short":"{0} 분","minute_short":"{0} 분","minutes":"{0} 분","minute":"{0} 분","in_past":"{0} 전","hours_short":"{0} 시간","hour_short":"{0} 시간","hours":"{0} 시간","hour":"{0} 시간","days_short":"{0} 일","day_short":"{0} 일","days":"{0} 일","day":"{0} 일"},"remote_user_resolver":{"error":"찾을 수 없습니다.","searching_for":"검색중"},"selectable_list":{"select_all":"모두 선택"}}')}}]); -//# sourceMappingURL=21.6e952388ef8d5a0276dc.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[21],{614:function(e){e.exports=JSON.parse('{"chat":{"title":"챗"},"features_panel":{"chat":"챗","gopher":"고퍼","media_proxy":"미디어 프록시","scope_options":"범위 옵션","text_limit":"텍스트 제한","title":"기능","who_to_follow":"팔로우 추천","upload_limit":"최대 파일용량","pleroma_chat_messages":"Pleroma 채트"},"finder":{"error_fetching_user":"사용자 정보 불러오기 실패","find_user":"사용자 찾기"},"general":{"apply":"적용","submit":"보내기","loading":"로딩중…","peek":"숨기기","close":"닫기","verify":"검사","confirm":"확인","enable":"유효","disable":"무효","cancel":"취소","dismiss":"무시","show_less":"접기","show_more":"더 보기","optional":"필수 아님","retry":"다시 시도하십시오","error_retry":"다시 시도하십시오","generic_error":"잘못되었습니다","more":"더 보기","role":{"moderator":"중재자","admin":"관리자"}},"login":{"login":"로그인","description":"OAuth로 로그인","logout":"로그아웃","password":"암호","placeholder":"예시: lain","register":"가입","username":"사용자 이름","heading":{"recovery":"2단계 복구","totp":"2단계인증"},"recovery_code":"복구 코드","enter_two_factor_code":"2단계인증 코드를 입력하십시오","enter_recovery_code":"복구 코드를 입력하십시오","authentication_code":"인증 코드","hint":"로그인하여 대화에 참가합시다"},"nav":{"about":"인스턴스 소개","back":"뒤로","chat":"로컬 챗","friend_requests":"팔로우 요청","mentions":"멘션","dms":"다이렉트 메시지","public_tl":"공개 타임라인","timeline":"타임라인","twkn":"알려진 네트워크","user_search":"사용자 검색","preferences":"환경설정","chats":"채트","timelines":"타임라인","who_to_follow":"추천된 사용자","search":"검색","bookmarks":"북마크","interactions":"대화","administration":"관리","home_timeline":"홈 타임라인"},"notifications":{"broken_favorite":"알 수 없는 게시물입니다, 검색합니다…","favorited_you":"당신의 게시물을 즐겨찾기","followed_you":"당신을 팔로우","load_older":"오래 된 알림 불러오기","notifications":"알림","read":"읽음!","repeated_you":"당신의 게시물을 리핏","no_more_notifications":"알림이 없습니다","migrated_to":"이사했습니다","reacted_with":"{0} 로 반응했습니다","error":"알림 불러오기 실패: {0}","follow_request":"당신에게 팔로우 신청"},"post_status":{"new_status":"새 게시물 게시","account_not_locked_warning":"당신의 계정은 {0} 상태가 아닙니다. 누구나 당신을 팔로우 하고 팔로워 전용 게시물을 볼 수 있습니다.","account_not_locked_warning_link":"잠김","attachments_sensitive":"첨부물을 민감함으로 설정","content_type":{"text/plain":"평문","text/bbcode":"BBCode","text/markdown":"Markdown","text/html":"HTML"},"content_warning":"주제 (필수 아님)","default":"인천공항에 도착했습니다.","direct_warning":"이 게시물을 멘션 된 사용자들에게만 보여집니다","posting":"게시","scope":{"direct":"다이렉트 - 멘션 된 사용자들에게만","private":"팔로워 전용 - 팔로워들에게만","public":"공개 - 공개 타임라인으로","unlisted":"비공개 - 공개 타임라인에 게시 안 함"},"preview_empty":"아무것도 없습니다","preview":"미리보기","scope_notice":{"public":"이 글은 누구나 볼 수 있습니다"},"media_description_error":"파일을 올리지 못하였습니다. 다시한번 시도하여 주십시오","empty_status_error":"글을 입력하십시오","media_description":"첨부파일 설명"},"registration":{"bio":"소개","email":"이메일","fullname":"표시 되는 이름","password_confirm":"암호 확인","registration":"가입하기","token":"초대 토큰","captcha":"캡차","new_captcha":"이미지를 클릭해서 새로운 캡차","validations":{"username_required":"공백으로 둘 수 없습니다","fullname_required":"공백으로 둘 수 없습니다","email_required":"공백으로 둘 수 없습니다","password_required":"공백으로 둘 수 없습니다","password_confirmation_required":"공백으로 둘 수 없습니다","password_confirmation_match":"패스워드와 일치해야 합니다"},"fullname_placeholder":"예: 김례인","username_placeholder":"예: lain"},"settings":{"attachmentRadius":"첨부물","attachments":"첨부물","avatar":"아바타","avatarAltRadius":"아바타 (알림)","avatarRadius":"아바타","background":"배경","bio":"소개","btnRadius":"버튼","cBlue":"파랑 (답글, 팔로우)","cGreen":"초록 (리트윗)","cOrange":"주황 (즐겨찾기)","cRed":"빨강 (취소)","change_password":"암호 바꾸기","change_password_error":"암호를 바꾸는 데 몇 가지 문제가 있습니다.","changed_password":"암호를 바꾸었습니다!","collapse_subject":"주제를 가진 게시물 접기","composing":"작성","confirm_new_password":"새 패스워드 확인","current_avatar":"현재 아바타","current_password":"현재 패스워드","current_profile_banner":"현재 프로필 배너","data_import_export_tab":"데이터 불러오기 / 내보내기","default_vis":"기본 공개 범위","delete_account":"계정 삭제","delete_account_description":"데이터가 영구히 삭제되고 계정이 불활성화됩니다.","delete_account_error":"계정을 삭제하는데 문제가 있습니다. 계속 발생한다면 인스턴스 관리자에게 문의하세요.","delete_account_instructions":"계정 삭제를 확인하기 위해 아래에 패스워드 입력.","export_theme":"프리셋 저장","filtering":"필터링","filtering_explanation":"아래의 단어를 가진 게시물들은 뮤트 됩니다, 한 줄에 하나씩 적으세요","follow_export":"팔로우 내보내기","follow_export_button":"팔로우 목록을 csv로 내보내기","follow_export_processing":"진행 중입니다, 곧 다운로드 가능해 질 것입니다","follow_import":"팔로우 불러오기","follow_import_error":"팔로우 불러오기 실패","follows_imported":"팔로우 목록을 불러왔습니다! 처리에는 시간이 걸립니다.","foreground":"전경","general":"일반","hide_attachments_in_convo":"대화의 첨부물 숨기기","hide_attachments_in_tl":"타임라인의 첨부물 숨기기","hide_isp":"인스턴스 전용 패널 숨기기","preload_images":"이미지 미리 불러오기","hide_post_stats":"게시물 통계 숨기기 (즐겨찾기 수 등)","hide_user_stats":"사용자 통계 숨기기 (팔로워 수 등)","import_followers_from_a_csv_file":"csv 파일에서 팔로우 목록 불러오기","import_theme":"프리셋 불러오기","inputRadius":"입력 칸","checkboxRadius":"체크박스","instance_default":"(기본: {value})","instance_default_simple":"(기본)","interface":"인터페이스","interfaceLanguage":"인터페이스 언어","invalid_theme_imported":"선택한 파일은 지원하는 플레로마 테마가 아닙니다. 아무런 변경도 일어나지 않았습니다.","limited_availability":"이 브라우저에서 사용 불가","links":"링크","lock_account_description":"계정을 승인 된 팔로워들로 제한","loop_video":"비디오 반복재생","loop_video_silent_only":"소리가 없는 비디오만 반복 재생 (마스토돈의 \\"gifs\\" 같은 것들)","name":"이름","name_bio":"이름 & 소개","new_password":"새 암호","notification_visibility":"보여 줄 알림 종류","notification_visibility_follows":"팔로우","notification_visibility_likes":"좋아함","notification_visibility_mentions":"멘션","notification_visibility_repeats":"반복","no_rich_text_description":"모든 게시물의 서식을 지우기","hide_follows_description":"내가 팔로우하는 사람을 표시하지 않음","hide_followers_description":"나를 따르는 사람을 숨기기","nsfw_clickthrough":"NSFW 이미지 \\"클릭해서 보이기\\"를 활성화","oauth_tokens":"OAuth 토큰","token":"토큰","refresh_token":"토큰 새로 고침","valid_until":"까지 유효하다","revoke_token":"취소","panelRadius":"패널","pause_on_unfocused":"탭이 활성 상태가 아닐 때 스트리밍 멈추기","presets":"프리셋","profile_background":"프로필 배경","profile_banner":"프로필 배너","profile_tab":"프로필","radii_help":"인터페이스 모서리 둥글기 (픽셀 단위)","replies_in_timeline":"답글을 타임라인에","reply_visibility_all":"모든 답글 보기","reply_visibility_following":"나에게 직접 오는 답글이나 내가 팔로우 중인 사람에게서 오는 답글만 표시","reply_visibility_self":"나에게 직접 전송 된 답글만 보이기","saving_err":"설정 저장 실패","saving_ok":"설정 저장 됨","security_tab":"보안","scope_copy":"답글을 달 때 공개 범위 따라가리 (다이렉트 메시지는 언제나 따라감)","set_new_avatar":"새 아바타 설정","set_new_profile_background":"새 프로필 배경 설정","set_new_profile_banner":"새 프로필 배너 설정","settings":"설정","subject_input_always_show":"항상 주제 칸 보이기","subject_line_behavior":"답글을 달 때 주제 복사하기","subject_line_email":"이메일처럼: \\"re: 주제\\"","subject_line_mastodon":"마스토돈처럼: 그대로 복사","subject_line_noop":"복사 안 함","stop_gifs":"GIF파일에 마우스를 올려서 재생","streaming":"최상단에 도달하면 자동으로 새 게시물 스트리밍","text":"텍스트","theme":"테마","theme_help":"16진수 색상코드(#rrggbb)를 사용해 색상 테마를 커스터마이즈.","theme_help_v2_1":"체크박스를 통해 몇몇 컴포넌트의 색상과 불투명도를 조절 가능, \\"모두 지우기\\" 버튼으로 덮어 씌운 것을 모두 취소.","theme_help_v2_2":"몇몇 입력칸 밑의 아이콘은 전경/배경 대비 관련 표시등입니다, 마우스를 올려 자세한 정보를 볼 수 있습니다. 투명도 대비 표시등이 가장 최악의 경우를 나타낸다는 것을 유의하세요.","tooltipRadius":"툴팁/경고","user_settings":"사용자 설정","values":{"false":"아니오","true":"네"},"notifications":"알림","enable_web_push_notifications":"웹 푸시 알림 활성화","style":{"switcher":{"keep_color":"색상 유지","keep_shadows":"그림자 유지","keep_opacity":"불투명도 유지","keep_roundness":"둥글기 유지","keep_fonts":"글자체 유지","save_load_hint":"\\"유지\\" 옵션들은 다른 테마를 고르거나 불러 올 때 현재 설정 된 옵션들을 건드리지 않게 합니다, 테마를 내보내기 할 때도 이 옵션에 따라 저장합니다. 아무 것도 체크 되지 않았다면 모든 설정을 내보냅니다.","reset":"초기화","clear_all":"모두 지우기","clear_opacity":"불투명도 지우기"},"common":{"color":"색상","opacity":"불투명도","contrast":{"hint":"대비율이 {ratio}입니다, 이것은 {context} {level}","level":{"aa":"AA등급 가이드라인에 부합합니다 (최소한도)","aaa":"AAA등급 가이드라인에 부합합니다 (권장)","bad":"아무런 가이드라인 등급에도 미치지 못합니다"},"context":{"18pt":"큰 (18pt 이상) 텍스트에 대해","text":"텍스트에 대해"}}},"common_colors":{"_tab_label":"일반","main":"일반 색상","foreground_hint":"\\"고급\\" 탭에서 더 자세한 설정이 가능합니다","rgbo":"아이콘, 강조, 배지"},"advanced_colors":{"_tab_label":"고급","alert":"주의 배경","alert_error":"에러","badge":"배지 배경","badge_notification":"알림","panel_header":"패널 헤더","top_bar":"상단 바","borders":"테두리","buttons":"버튼","inputs":"입력칸","faint_text":"흐려진 텍스트","chat":{"border":"경계선","outgoing":"송신","incoming":"수신"},"selectedMenu":"선택된 메뉴 요소","selectedPost":"선택된 글","icons":"아이콘","alert_warning":"경고"},"radii":{"_tab_label":"둥글기"},"shadows":{"_tab_label":"그림자와 빛","component":"컴포넌트","override":"덮어쓰기","shadow_id":"그림자 #{value}","blur":"흐리기","spread":"퍼지기","inset":"안쪽으로","hint":"그림자에는 CSS3 변수를 --variable을 통해 색상 값으로 사용할 수 있습니다. 불투명도에는 적용 되지 않습니다.","filter_hint":{"always_drop_shadow":"경고, 이 그림자는 브라우저가 지원하는 경우 항상 {0}을 사용합니다.","drop_shadow_syntax":"{0}는 {1} 파라미터와 {2} 키워드를 지원하지 않습니다.","avatar_inset":"안쪽과 안쪽이 아닌 그림자를 모두 설정하는 경우 투명 아바타에서 예상치 못 한 결과가 나올 수 있다는 것에 주의해 주세요.","spread_zero":"퍼지기가 0보다 큰 그림자는 0으로 설정한 것과 동일하게 보여집니다","inset_classic":"안쪽 그림자는 {0}를 사용합니다"},"components":{"panel":"패널","panelHeader":"패널 헤더","topBar":"상단 바","avatar":"사용자 아바타 (프로필 뷰에서)","avatarStatus":"사용자 아바타 (게시물에서)","popup":"팝업과 툴팁","button":"버튼","buttonHover":"버튼 (마우스 올렸을 때)","buttonPressed":"버튼 (눌렸을 때)","buttonPressedHover":"Button (마우스 올림 + 눌림)","input":"입력칸"}},"fonts":{"_tab_label":"글자체","help":"인터페이스의 요소에 사용 될 글자체를 고르세요. \\"커스텀\\"은 시스템에 있는 폰트 이름을 정확히 입력해야 합니다.","components":{"interface":"인터페이스","input":"입력칸","post":"게시물 텍스트","postCode":"게시물의 고정폭 텍스트 (서식 있는 텍스트)"},"family":"글자체 이름","size":"크기 (px 단위)","weight":"굵기","custom":"커스텀"},"preview":{"header":"미리보기","content":"내용","error":"에러 예시","button":"버튼","text":"더 많은 {0} 그리고 {1}","mono":"내용","input":"인천공항에 도착했습니다.","faint_link":"도움 되는 설명서","fine_print":"우리의 {0} 를 읽고 도움 되지 않는 것들을 배우자!","header_faint":"이건 괜찮아","checkbox":"나는 약관을 대충 훑어보았습니다","link":"작고 귀여운 링크"}},"block_export":"차단 목록 내보내기","mfa":{"scan":{"secret_code":"키","title":"스캔"},"authentication_methods":"인증 방법","waiting_a_recovery_codes":"예비 코드를 수신하고 있습니다…","recovery_codes":"복구 코드.","generate_new_recovery_codes":"새로운 복구 코드를 작성","title":"2단계인증","confirm_and_enable":"OTP 확인과 활성화","setup_otp":"OTP 설치","otp":"OTP"},"security":"보안","emoji_reactions_on_timeline":"이모지 반응을 타임라인으로 표시","avatar_size_instruction":"크기를 150x150 이상으로 설정할 것을 추장합니다.","blocks_tab":"차단","notification_setting_privacy":"보안","user_mutes":"사용자","notification_visibility_emoji_reactions":"반응","profile_fields":{"value":"내용"},"mutes_and_blocks":"침묵과 차단","chatMessageRadius":"챗 메시지","change_email":"메일주소 바꾸기","changed_email":"메일주소가 갱신되었습니다!","bot":"이 계정은 bot입니다","mutes_tab":"침묵","app_name":"앱 이름"},"timeline":{"collapse":"접기","conversation":"대화","error_fetching":"업데이트 불러오기 실패","load_older":"더 오래 된 게시물 불러오기","no_retweet_hint":"팔로워 전용, 다이렉트 메시지는 반복할 수 없습니다","repeated":"반복 됨","show_new":"새로운 것 보기","up_to_date":"최신 상태"},"user_card":{"approve":"승인","block":"차단","blocked":"차단 됨!","deny":"거부","follow":"팔로우","follow_sent":"요청 보내짐!","follow_progress":"요청 중…","follow_unfollow":"팔로우 중지","followees":"팔로우 중","followers":"팔로워","following":"팔로우 중!","follows_you":"당신을 팔로우 합니다!","its_you":"당신입니다!","mute":"침묵","muted":"침묵 됨","per_day":"/ 하루","remote_follow":"원격 팔로우","statuses":"게시물"},"user_profile":{"timeline_title":"사용자 타임라인"},"who_to_follow":{"more":"더 보기","who_to_follow":"팔로우 추천"},"tool_tip":{"media_upload":"미디어 업로드","repeat":"반복","reply":"답글","favorite":"즐겨찾기","user_settings":"사용자 설정"},"upload":{"error":{"base":"업로드 실패.","file_too_big":"파일이 너무 커요 [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","default":"잠시 후에 다시 시도해 보세요"},"file_size_units":{"B":"바이트","KiB":"키비바이트","MiB":"메비바이트","GiB":"기비바이트","TiB":"테비바이트"}},"interactions":{"follows":"새 팔로워","favs_repeats":"반복과 즐겨찾기","moves":"계정 통합"},"emoji":{"load_all":"전체 {emojiAmount} 이모지 불러오기","unicode":"Unicode 이모지","custom":"전용 이모지","add_emoji":"이모지 넣기","search_emoji":"이모지 검색","emoji":"이모지","stickers":"스티커"},"polls":{"add_poll":"투표를 추가","votes":"표","vote":"투표","type":"투표 형식","expiry":"투표 기간","votes_count":"{count} 표 | {count} 표","people_voted_count":"{count} 명 투표 | {count} 명 투표","option":"선택지","add_option":"선택지 추가"},"media_modal":{"next":"다음","previous":"이전"},"importer":{"error":"이 파일을 가져올 때 오류가 발생하였습니다.","success":"정상히 불러왔습니다.","submit":"보내기"},"image_cropper":{"cancel":"취소","save_without_cropping":"그대로 저장","save":"저장","crop_picture":"사진 자르기"},"exporter":{"processing":"처리중입니다, 처리가 끝나면 파일을 다운로드하라는 지시가 있겠습니다","export":"내보내기"},"domain_mute_card":{"unmute_progress":"침묵을 해제중…","unmute":"침묵 해제","mute_progress":"침묵으로 설정중…","mute":"침묵"},"about":{"staff":"운영자","mrf":{"simple":{"media_nsfw_desc":"이 인스턴스에서는 아래의 인스턴스로부터 보내온 투고에 붙혀 있는 매체는 민감함으로 설정됩니다:","media_nsfw":"매체를 민감함으로 설정","media_removal_desc":"이 인스턴스에서는 아래의 인스턴스로부터 보내온 투고에 붙혀 있는 매체는 제거됩니다:","media_removal":"매체 제거","ftl_removal_desc":"이 인스턴스에서 아래의 인스턴스들은 \\"알려진 네트워크\\" 타임라인에서 제외됩니다:","ftl_removal":"\\"알려진 네트워크\\" 타임라인에서 제외","quarantine_desc":"이 인스턴스는 아래의 인스턴스에게 공개투고만을 보냅니다:","quarantine":"검역","reject_desc":"이 인스턴스에서는 아래의 인스턴스로부터 보내온 투고를 받아들이지 않습니다:","accept_desc":"이 인스턴스에서는 아래의 인스턴스로부터 보내온 투고만이 접수됩니다:","reject":"거부","accept":"허가","simple_policies":"인스턴스 특유의 폴리시"},"mrf_policies":"사용되는 MRF 폴리시","keyword":{"is_replaced_by":"→","replace":"바꾸기","reject":"거부","ftl_removal":"\\"알려진 모든 네트워크\\" 타임라인에서 제외","keyword_policies":"단어 폴리시"},"federation":"연합"}},"shoutbox":{"title":"Shoutbox"},"time":{"years_short":"{0} 년","year_short":"{0} 년","years":"{0} 년","year":"{0} 년","weeks_short":"{0} 주일","week_short":"{0} 주일","weeks":"{0} 주일","week":"{0} 주일","seconds_short":"{0} 초","second_short":"{0} 초","seconds":"{0} 초","second":"{0} 초","now_short":"방금","now":"방끔","months_short":"{0} 달 전","month_short":"{0} 달 전","months":"{0} 달 전","month":"{0} 달 전","minutes_short":"{0} 분","minute_short":"{0} 분","minutes":"{0} 분","minute":"{0} 분","in_past":"{0} 전","hours_short":"{0} 시간","hour_short":"{0} 시간","hours":"{0} 시간","hour":"{0} 시간","days_short":"{0} 일","day_short":"{0} 일","days":"{0} 일","day":"{0} 일"},"remote_user_resolver":{"error":"찾을 수 없습니다.","searching_for":"검색중"},"selectable_list":{"select_all":"모두 선택"}}')}}]); +//# sourceMappingURL=21.b2844ccdcfc3c8191e8e.js.map \ No newline at end of file diff --git a/priv/static/static/js/21.b2844ccdcfc3c8191e8e.js.map b/priv/static/static/js/21.b2844ccdcfc3c8191e8e.js.map new file mode 100644 index 000000000..b5b25eb31 --- /dev/null +++ b/priv/static/static/js/21.b2844ccdcfc3c8191e8e.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/21.b2844ccdcfc3c8191e8e.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/22.dbc79965f66b0bb62d88.js b/priv/static/static/js/22.68c0a771d79e3383f5e8.js similarity index 84% rename from priv/static/static/js/22.dbc79965f66b0bb62d88.js rename to priv/static/static/js/22.68c0a771d79e3383f5e8.js index 88a0e51b5..f982b241b 100644 --- a/priv/static/static/js/22.dbc79965f66b0bb62d88.js +++ b/priv/static/static/js/22.68c0a771d79e3383f5e8.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{602:function(e){e.exports=JSON.parse('{"chat":{"title":"Nettprat"},"exporter":{"export":"Eksporter","processing":"Arbeider, du vil snart bli spurt om å laste ned filen din"},"features_panel":{"chat":"Nettprat","gopher":"Gopher","media_proxy":"Media proxy","scope_options":"Velg mottakere","text_limit":"Tekstgrense","title":"Egenskaper","who_to_follow":"Kontoer å følge"},"finder":{"error_fetching_user":"Feil ved henting av bruker","find_user":"Finn bruker"},"general":{"apply":"Bruk","submit":"Send","more":"Mer","generic_error":"Det oppsto en feil","optional":"valgfritt","show_more":"Vis mer","show_less":"Vis mindre","cancel":"Avbryt","disable":"Slå av","enable":"Slå på","confirm":"Godta","verify":"Godkjenn"},"image_cropper":{"crop_picture":"Minsk bilde","save":"Lagre","save_without_cropping":"Lagre uten å minske bildet","cancel":"Avbryt"},"importer":{"submit":"Send","success":"Importering fullført.","error":"Det oppsto en feil under importering av denne filen."},"login":{"login":"Logg inn","description":"Log inn med OAuth","logout":"Logg ut","password":"Passord","placeholder":"f. eks lain","register":"Registrer","username":"Brukernavn","hint":"Logg inn for å delta i diskusjonen","authentication_code":"Verifikasjonskode","enter_recovery_code":"Skriv inn en gjenopprettingskode","enter_two_factor_code":"Skriv inn en to-faktors kode","recovery_code":"Gjenopprettingskode","heading":{"totp":"To-faktors autentisering","recovery":"To-faktors gjenoppretting"}},"media_modal":{"previous":"Forrige","next":"Neste"},"nav":{"about":"Om","back":"Tilbake","chat":"Lokal nettprat","friend_requests":"Følgeforespørsler","mentions":"Nevnt","interactions":"Interaksjoner","dms":"Direktemeldinger","public_tl":"Offentlig Tidslinje","timeline":"Tidslinje","twkn":"Det hele kjente nettverket","user_search":"Søk etter brukere","search":"Søk","who_to_follow":"Kontoer å følge","preferences":"Innstillinger","timelines":"Tidslinjer","bookmarks":"Bokmerker"},"notifications":{"broken_favorite":"Ukjent status, leter etter den…","favorited_you":"likte din status","followed_you":"fulgte deg","load_older":"Last eldre varsler","notifications":"Varslinger","read":"Les!","repeated_you":"Gjentok din status","no_more_notifications":"Ingen gjenstående varsler","follow_request":"ønsker å følge deg"},"polls":{"add_poll":"Legg til undersøkelse","add_option":"Legg til svaralternativ","option":"Svaralternativ","votes":"stemmer","vote":"Stem","type":"Undersøkelsestype","single_choice":"Enkeltvalg","multiple_choices":"Flervalg","expiry":"Undersøkelsestid","expires_in":"Undersøkelsen er over om {0}","expired":"Undersøkelsen ble ferdig {0} siden","not_enough_options":"For få unike svaralternativer i undersøkelsen"},"stickers":{"add_sticker":"Legg til klistremerke"},"interactions":{"favs_repeats":"Gjentakelser og favoritter","follows":"Nye følgere","load_older":"Last eldre interaksjoner"},"post_status":{"new_status":"Legg ut ny status","account_not_locked_warning":"Kontoen din er ikke {0}. Hvem som helst kan følge deg for å se dine statuser til følgere","account_not_locked_warning_link":"låst","attachments_sensitive":"Merk vedlegg som sensitive","content_type":{"text/plain":"Klar tekst","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},"content_warning":"Tema (valgfritt)","default":"Landet akkurat i L.A.","direct_warning_to_all":"Denne statusen vil være synlig av nevnte brukere","direct_warning_to_first_only":"Denne statusen vil være synlig for de brukerene som blir nevnt først i statusen.","posting":"Publiserer","scope_notice":{"public":"Denne statusen vil være synlig for alle","private":"Denne statusen vil være synlig for dine følgere","unlisted":"Denne statusen vil ikke være synlig i Offentlig Tidslinje eller Det Hele Kjente Nettverket"},"scope":{"direct":"Direkte, publiser bare til nevnte brukere","private":"Bare følgere, publiser bare til brukere som følger deg","public":"Offentlig, publiser til offentlige tidslinjer","unlisted":"Uoppført, ikke publiser til offentlige tidslinjer"}},"registration":{"bio":"Biografi","email":"Epost-adresse","fullname":"Visningsnavn","password_confirm":"Bekreft passord","registration":"Registrering","token":"Invitasjons-bevis","captcha":"CAPTCHA","new_captcha":"Trykk på bildet for å få en ny captcha","username_placeholder":"f.eks. Lain Iwakura","fullname_placeholder":"f.eks. Lain Iwakura","bio_placeholder":"e.g.\\nHei, jeg er Lain.\\nJeg er en animert jente som bor i forstaden i Japan. Du kjenner meg kanskje fra the Wired.","validations":{"username_required":"kan ikke stå tomt","fullname_required":"kan ikke stå tomt","email_required":"kan ikke stå tomt","password_required":"kan ikke stå tomt","password_confirmation_required":"kan ikke stå tomt","password_confirmation_match":"skal være det samme som passord"}},"selectable_list":{"select_all":"Velg alle"},"settings":{"app_name":"Applikasjonsnavn","security":"Sikkerhet","enter_current_password_to_confirm":"Skriv inn ditt nåverende passord for å bekrefte din identitet","mfa":{"otp":"OTP","setup_otp":"Set opp OTP","wait_pre_setup_otp":"forhåndsstiller OTP","confirm_and_enable":"Bekreft og slå på OTP","title":"To-faktors autentisering","generate_new_recovery_codes":"Generer nye gjenopprettingskoder","warning_of_generate_new_codes":"Når du genererer nye gjenopprettingskoder, vil de gamle slutte å fungere.","recovery_codes":"Gjenopprettingskoder.","waiting_a_recovery_codes":"Mottar gjenopprettingskoder...","recovery_codes_warning":"Skriv disse kodene ned eller plasser dem ett sikkert sted - ellers så vil du ikke se dem igjen. Dersom du mister tilgang til din to-faktors app og dine gjenopprettingskoder, vil du bli stengt ute av kontoen din.","authentication_methods":"Autentiseringsmetoder","scan":{"title":"Skann","desc":"Ved hjelp av din to-faktors applikasjon, skann denne QR-koden eller skriv inn tekstnøkkelen","secret_code":"Nøkkel"},"verify":{"desc":"For å skru på to-faktors autentisering, skriv inn koden i fra din to-faktors app:"}},"attachmentRadius":"Vedlegg","attachments":"Vedlegg","avatar":"Profilbilde","avatarAltRadius":"Profilbilde (Varslinger)","avatarRadius":"Profilbilde","background":"Bakgrunn","bio":"Biografi","block_export":"Eksporter blokkeringer","block_export_button":"Eksporter blokkeringer til en csv fil","block_import":"Import blokkeringer","block_import_error":"Det oppsto en feil under importering av blokkeringer","blocks_imported":"Blokkeringer importert, det vil ta litt å prossesere dem","blocks_tab":"Blokkeringer","btnRadius":"Knapper","cBlue":"Blå (Svar, følg)","cGreen":"Grønn (Gjenta)","cOrange":"Oransje (Lik)","cRed":"Rød (Avbryt)","change_password":"Endre passord","change_password_error":"Feil ved endring av passord","changed_password":"Passord endret","collapse_subject":"Sammenfold statuser med tema","composing":"komponering","confirm_new_password":"Bekreft nytt passord","current_avatar":"Ditt nåværende profilbilde","current_password":"Nåværende passord","current_profile_banner":"Din nåværende profil-banner","data_import_export_tab":"Data import / eksport","default_vis":"Standard visnings-omfang","delete_account":"Slett konto","delete_account_description":"Fjern din konto og alle dine meldinger for alltid.","delete_account_error":"Det oppsto et problem ved sletting av kontoen din, hvis dette problemet forblir kontakt din administrator","delete_account_instructions":"Skriv inn ditt passord i feltet nedenfor for å bekrefte sletting av konto","avatar_size_instruction":"Den anbefalte minste-størrelsen for profilbilder er 150x150 piksler","export_theme":"Lagre tema","filtering":"Filtrering","filtering_explanation":"Alle statuser som inneholder disse ordene vil bli dempet, en kombinasjon av tegn per linje","follow_export":"Eksporter følginger","follow_export_button":"Eksporter følgingene dine til en .csv fil","follow_import":"Importer følginger","follow_import_error":"Feil ved importering av følginger.","follows_imported":"Følginger importert! Behandling vil ta litt tid.","foreground":"Forgrunn","general":"Generell","hide_attachments_in_convo":"Gjem vedlegg i samtaler","hide_attachments_in_tl":"Gjem vedlegg på tidslinje","hide_muted_posts":"Gjem statuser i fra gjemte brukere","max_thumbnails":"Maks antall forhåndsbilder per status","hide_isp":"Gjem instans-spesifikt panel","preload_images":"Forhåndslast bilder","use_one_click_nsfw":"Åpne sensitive vedlegg med ett klikk","hide_post_stats":"Gjem status statistikk (f.eks. antall likes","hide_user_stats":"Gjem bruker statistikk (f.eks. antall følgere)","hide_filtered_statuses":"Gjem filtrerte statuser","import_blocks_from_a_csv_file":"Importer blokkeringer fra en csv fil","import_followers_from_a_csv_file":"Importer følginger fra en csv fil","import_theme":"Last tema","inputRadius":"Tekst felt","checkboxRadius":"Sjekkbokser","instance_default":"(standard: {value})","instance_default_simple":"(standard)","interface":"Grensesnitt","interfaceLanguage":"Grensesnitt-språk","invalid_theme_imported":"Den valgte filen er ikke ett støttet Pleroma-tema, ingen endringer til ditt tema ble gjort","limited_availability":"Ikke tilgjengelig i din nettleser","links":"Linker","lock_account_description":"Begrens din konto til bare godkjente følgere","loop_video":"Gjenta videoer","loop_video_silent_only":"Gjenta bare videoer uten lyd, (for eksempel Mastodon sine \\"gifs\\")","mutes_tab":"Dempinger","play_videos_in_modal":"Spill videoer direkte i media-avspilleren","use_contain_fit":"Ikke minsk vedlegget i forhåndsvisninger","name":"Navn","name_bio":"Navn & Biografi","new_password":"Nytt passord","notification_visibility":"Typer varsler som skal vises","notification_visibility_follows":"Følginger","notification_visibility_likes":"Likes","notification_visibility_mentions":"Nevnt","notification_visibility_repeats":"Gjentakelser","no_rich_text_description":"Fjern all formatering fra statuser","no_blocks":"Ingen blokkeringer","no_mutes":"Ingen dempinger","hide_follows_description":"Ikke hvis hvem jeg følger","hide_followers_description":"Ikke hvis hvem som følger meg","show_admin_badge":"Hvis ett administratormerke på min profil","show_moderator_badge":"Hvis ett moderatormerke på min profil","nsfw_clickthrough":"Krev trykk for å vise statuser som kan være upassende","oauth_tokens":"OAuth Tokens","token":"Pollett","refresh_token":"Fornyingspolett","valid_until":"Gyldig til","revoke_token":"Tilbakekall","panelRadius":"Panel","pause_on_unfocused":"Stopp henting av poster når vinduet ikke er i fokus","presets":"Forhåndsdefinerte tema","profile_background":"Profil-bakgrunn","profile_banner":"Profil-banner","profile_tab":"Profil","radii_help":"Bestem hvor runde hjørnene i brukergrensesnittet skal være (i piksler)","replies_in_timeline":"Svar på tidslinje","reply_visibility_all":"Vis alle svar","reply_visibility_following":"Vis bare svar som er til meg eller folk jeg følger","reply_visibility_self":"Vis bare svar som er til meg","autohide_floating_post_button":"Skjul Ny Status knapp automatisk (mobil)","saving_err":"Feil ved lagring av innstillinger","saving_ok":"Innstillinger lagret","search_user_to_block":"Søk etter hvem du vil blokkere","search_user_to_mute":"Søk etter hvem du vil dempe","security_tab":"Sikkerhet","scope_copy":"Kopier mottakere når du svarer noen (Direktemeldinger blir alltid kopiert","minimal_scopes_mode":"Minimaliser mottakervalg","set_new_avatar":"Rediger profilbilde","set_new_profile_background":"Rediger profil-bakgrunn","set_new_profile_banner":"Sett ny profil-banner","settings":"Innstillinger","subject_input_always_show":"Alltid hvis tema-felt","subject_line_behavior":"Kopier tema når du svarer","subject_line_email":"Som email: \\"re: tema\\"","subject_line_mastodon":"Som mastodon: kopier som den er","subject_line_noop":"Ikke koper","post_status_content_type":"Status innholdstype","stop_gifs":"Spill av GIFs når du holder over dem","streaming":"Automatisk strømming av nye statuser når du har bladd til toppen","text":"Tekst","theme":"Tema","theme_help":"Bruk heksadesimale fargekoder (#rrggbb) til å endre farge-temaet ditt.","theme_help_v2_1":"Du kan også overskrive noen komponenter sine farger og opasitet ved å sjekke av sjekkboksen, bruk \\"Nullstill alt\\" knappen for å fjerne alle overskrivelser.","theme_help_v2_2":"Ikoner under noen av innstillingene er bakgrunn/tekst kontrast indikatorer, hold over dem for detaljert informasjon. Vennligst husk at disse indikatorene viser det verste utfallet.","tooltipRadius":"Verktøytips/advarsler","upload_a_photo":"Last opp ett bilde","user_settings":"Brukerinstillinger","values":{"false":"nei","true":"ja"},"notifications":"Varsler","notification_mutes":"For å stoppe å motta varsler i fra en spesifikk bruker, kan du dempe dem.","notification_blocks":"Hvis du blokkerer en bruker vil det stoppe alle varsler og i tilleg få dem til å slutte å følge deg","enable_web_push_notifications":"Skru på pushnotifikasjoner i nettlesere","style":{"switcher":{"keep_color":"Behold farger","keep_shadows":"Behold skygger","keep_opacity":"Behold opasitet","keep_roundness":"Behold rundhet","keep_fonts":"Behold fonter","save_load_hint":"\\"Behold\\" alternativer beholder de instillingene som er satt når du velger eller laster inn temaer, det lagrer også disse alternativene når du eksporterer ett tema, Når alle sjekkboksene er tomme, vil alt bli lagret når du eksporterer ett tema.","reset":"Still in på nytt","clear_all":"Nullstill alt","clear_opacity":"Nullstill opasitet"},"common":{"color":"Farge","opacity":"Opasitet","contrast":{"hint":"Kontrast forholdet er {ratio}, it {level} {context}","level":{"aa":"møter Nivå AA retningslinje (minimal)","aaa":"møter Nivå AAA retningslinje (recommended)","bad":"møter ingen tilgjengeligshetsretningslinjer"},"context":{"18pt":"for stor (18pt+) tekst","text":"for tekst"}}},"common_colors":{"_tab_label":"Vanlig","main":"Vanlige farger","foreground_hint":"Se \\"Avansert\\" fanen for mer detaljert kontroll","rgbo":"Ikoner, aksenter, merker"},"advanced_colors":{"_tab_label":"Avansert","alert":"Varslingsbakgrunn","alert_error":"Feil","badge":"Merkebakgrunn","badge_notification":"Varsling","panel_header":"Panelhode","top_bar":"Topplinje","borders":"Kanter","buttons":"Knapper","inputs":"Tekstfelt","faint_text":"Svak tekst"},"radii":{"_tab_label":"Rundhet"},"shadows":{"_tab_label":"Skygger og belysning","component":"Komponent","override":"Overskriv","shadow_id":"Skygge #{value}","blur":"Uklarhet","spread":"Spredning","inset":"Insett","hint":"For skygger kan du sette --variable som en fargeveerdi for å bruke CSS3 variabler. Vær oppmerksom på at å sette opasitet da ikke vil fungere her.","filter_hint":{"always_drop_shadow":"Advarsel, denne skyggen bruker alltid {0} når nettleseren støtter det.","drop_shadow_syntax":"{0} støtter ikke {1} parameter og {2} nøkkelord.","avatar_inset":"Vær oppmerksom på at å kombinere både insatte og uinsatte skygger på profilbilder kan gi uforventede resultater med gjennomsiktige profilbilder.","spread_zero":"Skygger med spredning > 0 vil fremstå som de var satt til 0","inset_classic":"Insette skygger vil bruke {0}"},"components":{"panel":"Panel","panelHeader":"Panelhode","topBar":"Topplinje","avatar":"Profilbilde (i profilvisning)","avatarStatus":"Profilbilde (i statusvisning)","popup":"Popups og tooltips","button":"Knapp","buttonHover":"Knapp (holdt)","buttonPressed":"Knapp (nedtrykt)","buttonPressedHover":"Knapp (nedtrykt+holdt)","input":"Tekstfelt"}},"fonts":{"_tab_label":"Fonter","help":"Velg font til elementene i brukergrensesnittet. For \\"egendefinert\\" må du skrive inn det nøyaktige font-navnet som det fremstår på systemet","components":{"interface":"Grensesnitt","input":"Tekstfelt","post":"Statustekst","postCode":"Monospaced tekst i en status (rik tekst)"},"family":"Font naavn","size":"Størrelse (i piksler)","weight":"Vekt (dristighet)","custom":"Egendefinert"},"preview":{"header":"Forhåndsvisning","content":"Innhold","error":"Eksempel feil","button":"Knapp","text":"Mye mer {0} og {1}","mono":"innhold","input":"Landet akkurat i L.A.","faint_link":"hjelpfull brukerveiledning","fine_print":"Les vår {0} for å lære ingenting nyttig!","header_faint":"Dette er OK","checkbox":"Jeg har skumlest vilkår og betingelser","link":"en flott liten link"}},"version":{"title":"Versjon","backend_version":"Backend Versjon","frontend_version":"Frontend Versjon"},"hide_wallpaper":"Skjul instansens bakgrunnsbilde"},"time":{"day":"{0} dag","days":"{0} dager","day_short":"{0}d","days_short":"{0}d","hour":"{0} time","hours":"{0} timer","hour_short":"{0}t","hours_short":"{0}t","in_future":"om {0}","in_past":"{0} siden","minute":"{0} minutt","minutes":"{0} minutter","minute_short":"{0}min","minutes_short":"{0}min","month":"{0} måned","months":"{0} måneder","month_short":"{0}md.","months_short":"{0}md.","now":"akkurat nå","now_short":"nå","second":"{0} sekund","seconds":"{0} sekunder","second_short":"{0}s","seconds_short":"{0}s","week":"{0} uke","weeks":"{0} uker","week_short":"{0}u","weeks_short":"{0}u","year":"{0} år","years":"{0} år","year_short":"{0}år","years_short":"{0}år"},"timeline":{"collapse":"Sammenfold","conversation":"Samtale","error_fetching":"Feil ved henting av oppdateringer","load_older":"Last eldre statuser","no_retweet_hint":"Status er markert som bare til følgere eller direkte og kan ikke gjentas","repeated":"gjentok","show_new":"Vis nye","up_to_date":"Oppdatert","no_more_statuses":"Ingen flere statuser","no_statuses":"Ingen statuser"},"status":{"favorites":"Favoritter","repeats":"Gjentakelser","delete":"Slett status","pin":"Fremhev på profil","unpin":"Fjern fremhevelse","pinned":"Fremhevet","delete_confirm":"Har du virkelig lyst til å slette denne statusen?","reply_to":"Svar til","replies_list":"Svar:"},"user_card":{"approve":"Godkjenn","block":"Blokker","blocked":"Blokkert!","deny":"Avslå","favorites":"Favoritter","follow":"Følg","follow_sent":"Forespørsel sendt!","follow_progress":"Forespør…","follow_again":"Gjenta forespørsel?","follow_unfollow":"Avfølg","followees":"Følger","followers":"Følgere","following":"Følger!","follows_you":"Følger deg!","its_you":"Det er deg!","media":"Media","mute":"Demp","muted":"Dempet","per_day":"per dag","remote_follow":"Følg eksternt","report":"Rapport","statuses":"Statuser","subscribe":"Abonner","unsubscribe":"Avabonner","unblock":"Fjern blokkering","unblock_progress":"Fjerner blokkering...","block_progress":"Blokkerer...","unmute":"Fjern demping","unmute_progress":"Fjerner demping...","mute_progress":"Demper...","admin_menu":{"moderation":"Moderering","grant_admin":"Gi Administrator","revoke_admin":"Fjern Administrator","grant_moderator":"Gi Moderator","revoke_moderator":"Fjern Moderator","activate_account":"Aktiver konto","deactivate_account":"Deaktiver kontro","delete_account":"Slett konto","force_nsfw":"Merk alle statuser som sensitive","strip_media":"Fjern media i fra statuser","force_unlisted":"Tving statuser til å være uopplistet","sandbox":"Tving statuser til å bare vises til følgere","disable_remote_subscription":"Fjern mulighet til å følge brukeren fra andre instanser","disable_any_subscription":"Fjern mulighet til å følge brukeren","quarantine":"Gjør at statuser fra brukeren ikke kan sendes til andre instanser","delete_user":"Slett bruker","delete_user_confirmation":"Er du helt sikker? Denne handlingen kan ikke omgjøres."}},"user_profile":{"timeline_title":"Bruker-tidslinje","profile_does_not_exist":"Beklager, denne profilen eksisterer ikke.","profile_loading_error":"Beklager, det oppsto en feil under lasting av denne profilen."},"user_reporting":{"title":"Rapporterer {0}","add_comment_description":"Rapporten blir sent til moderatorene av din instans. Du kan gi en forklaring på hvorfor du rapporterer denne kontoen under:","additional_comments":"Videre kommentarer","forward_description":"Denne kontoen er fra en annen server, vil du sende en kopi av rapporten til dem også?","forward_to":"Videresend til {0}","submit":"Send","generic_error":"Det oppsto en feil under behandling av din forespørsel."},"who_to_follow":{"more":"Mer","who_to_follow":"Kontoer å følge"},"tool_tip":{"media_upload":"Last opp media","repeat":"Gjenta","reply":"Svar","favorite":"Lik","user_settings":"Brukerinnstillinger"},"upload":{"error":{"base":"Det oppsto en feil under opplastning.","file_too_big":"Fil for stor [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","default":"Prøv igjen senere"},"file_size_units":{"B":"B","KiB":"KiB","MiB":"MiB","GiB":"GiB","TiB":"TiB"}},"search":{"people":"Folk","hashtags":"Emneknagger","person_talking":"{count} person snakker om dette","people_talking":"{count} personer snakker om dette","no_results":"Ingen resultater"},"about":{"mrf":{"simple":{"quarantine":"Karantene","reject_desc":"Denne instansen vil ikke godta meldinger fra følgende instanser:","reject":"Avvis","accept_desc":"Denne instansen godtar kun meldinger fra følgende instanser:","accept":"Aksepter"},"keyword":{"is_replaced_by":"→","replace":"Erstatt","reject":"Avvis","ftl_removal":"Fjerning fra \\"Det hele kjente nettverket\\" Tidslinjen"}}}}')}}]); -//# sourceMappingURL=22.dbc79965f66b0bb62d88.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[22],{615:function(e){e.exports=JSON.parse('{"chat":{"title":"Nettprat"},"exporter":{"export":"Eksporter","processing":"Arbeider, du vil snart bli spurt om å laste ned filen din"},"features_panel":{"chat":"Nettprat","gopher":"Gopher","media_proxy":"Media proxy","scope_options":"Velg mottakere","text_limit":"Tekstgrense","title":"Egenskaper","who_to_follow":"Kontoer å følge"},"finder":{"error_fetching_user":"Feil ved henting av bruker","find_user":"Finn bruker"},"general":{"apply":"Bruk","submit":"Send","more":"Mer","generic_error":"Det oppsto en feil","optional":"valgfritt","show_more":"Vis mer","show_less":"Vis mindre","cancel":"Avbryt","disable":"Slå av","enable":"Slå på","confirm":"Godta","verify":"Godkjenn"},"image_cropper":{"crop_picture":"Minsk bilde","save":"Lagre","save_without_cropping":"Lagre uten å minske bildet","cancel":"Avbryt"},"importer":{"submit":"Send","success":"Importering fullført.","error":"Det oppsto en feil under importering av denne filen."},"login":{"login":"Logg inn","description":"Log inn med OAuth","logout":"Logg ut","password":"Passord","placeholder":"f. eks lain","register":"Registrer","username":"Brukernavn","hint":"Logg inn for å delta i diskusjonen","authentication_code":"Verifikasjonskode","enter_recovery_code":"Skriv inn en gjenopprettingskode","enter_two_factor_code":"Skriv inn en to-faktors kode","recovery_code":"Gjenopprettingskode","heading":{"totp":"To-faktors autentisering","recovery":"To-faktors gjenoppretting"}},"media_modal":{"previous":"Forrige","next":"Neste"},"nav":{"about":"Om","back":"Tilbake","chat":"Lokal nettprat","friend_requests":"Følgeforespørsler","mentions":"Nevnt","interactions":"Interaksjoner","dms":"Direktemeldinger","public_tl":"Offentlig Tidslinje","timeline":"Tidslinje","twkn":"Det hele kjente nettverket","user_search":"Søk etter brukere","search":"Søk","who_to_follow":"Kontoer å følge","preferences":"Innstillinger","timelines":"Tidslinjer","bookmarks":"Bokmerker"},"notifications":{"broken_favorite":"Ukjent status, leter etter den…","favorited_you":"likte din status","followed_you":"fulgte deg","load_older":"Last eldre varsler","notifications":"Varslinger","read":"Les!","repeated_you":"Gjentok din status","no_more_notifications":"Ingen gjenstående varsler","follow_request":"ønsker å følge deg"},"polls":{"add_poll":"Legg til undersøkelse","add_option":"Legg til svaralternativ","option":"Svaralternativ","votes":"stemmer","vote":"Stem","type":"Undersøkelsestype","single_choice":"Enkeltvalg","multiple_choices":"Flervalg","expiry":"Undersøkelsestid","expires_in":"Undersøkelsen er over om {0}","expired":"Undersøkelsen ble ferdig {0} siden","not_enough_options":"For få unike svaralternativer i undersøkelsen"},"stickers":{"add_sticker":"Legg til klistremerke"},"interactions":{"favs_repeats":"Gjentakelser og favoritter","follows":"Nye følgere","load_older":"Last eldre interaksjoner"},"post_status":{"new_status":"Legg ut ny status","account_not_locked_warning":"Kontoen din er ikke {0}. Hvem som helst kan følge deg for å se dine statuser til følgere","account_not_locked_warning_link":"låst","attachments_sensitive":"Merk vedlegg som sensitive","content_type":{"text/plain":"Klar tekst","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},"content_warning":"Tema (valgfritt)","default":"Landet akkurat i L.A.","direct_warning_to_all":"Denne statusen vil være synlig av nevnte brukere","direct_warning_to_first_only":"Denne statusen vil være synlig for de brukerene som blir nevnt først i statusen.","posting":"Publiserer","scope_notice":{"public":"Denne statusen vil være synlig for alle","private":"Denne statusen vil være synlig for dine følgere","unlisted":"Denne statusen vil ikke være synlig i Offentlig Tidslinje eller Det Hele Kjente Nettverket"},"scope":{"direct":"Direkte, publiser bare til nevnte brukere","private":"Bare følgere, publiser bare til brukere som følger deg","public":"Offentlig, publiser til offentlige tidslinjer","unlisted":"Uoppført, ikke publiser til offentlige tidslinjer"}},"registration":{"bio":"Biografi","email":"Epost-adresse","fullname":"Visningsnavn","password_confirm":"Bekreft passord","registration":"Registrering","token":"Invitasjons-bevis","captcha":"CAPTCHA","new_captcha":"Trykk på bildet for å få en ny captcha","username_placeholder":"f.eks. Lain Iwakura","fullname_placeholder":"f.eks. Lain Iwakura","bio_placeholder":"e.g.\\nHei, jeg er Lain.\\nJeg er en animert jente som bor i forstaden i Japan. Du kjenner meg kanskje fra the Wired.","validations":{"username_required":"kan ikke stå tomt","fullname_required":"kan ikke stå tomt","email_required":"kan ikke stå tomt","password_required":"kan ikke stå tomt","password_confirmation_required":"kan ikke stå tomt","password_confirmation_match":"skal være det samme som passord"}},"selectable_list":{"select_all":"Velg alle"},"settings":{"app_name":"Applikasjonsnavn","security":"Sikkerhet","enter_current_password_to_confirm":"Skriv inn ditt nåverende passord for å bekrefte din identitet","mfa":{"otp":"OTP","setup_otp":"Set opp OTP","wait_pre_setup_otp":"forhåndsstiller OTP","confirm_and_enable":"Bekreft og slå på OTP","title":"To-faktors autentisering","generate_new_recovery_codes":"Generer nye gjenopprettingskoder","warning_of_generate_new_codes":"Når du genererer nye gjenopprettingskoder, vil de gamle slutte å fungere.","recovery_codes":"Gjenopprettingskoder.","waiting_a_recovery_codes":"Mottar gjenopprettingskoder...","recovery_codes_warning":"Skriv disse kodene ned eller plasser dem ett sikkert sted - ellers så vil du ikke se dem igjen. Dersom du mister tilgang til din to-faktors app og dine gjenopprettingskoder, vil du bli stengt ute av kontoen din.","authentication_methods":"Autentiseringsmetoder","scan":{"title":"Skann","desc":"Ved hjelp av din to-faktors applikasjon, skann denne QR-koden eller skriv inn tekstnøkkelen","secret_code":"Nøkkel"},"verify":{"desc":"For å skru på to-faktors autentisering, skriv inn koden i fra din to-faktors app:"}},"attachmentRadius":"Vedlegg","attachments":"Vedlegg","avatar":"Profilbilde","avatarAltRadius":"Profilbilde (Varslinger)","avatarRadius":"Profilbilde","background":"Bakgrunn","bio":"Biografi","block_export":"Eksporter blokkeringer","block_export_button":"Eksporter blokkeringer til en csv fil","block_import":"Import blokkeringer","block_import_error":"Det oppsto en feil under importering av blokkeringer","blocks_imported":"Blokkeringer importert, det vil ta litt å prossesere dem","blocks_tab":"Blokkeringer","btnRadius":"Knapper","cBlue":"Blå (Svar, følg)","cGreen":"Grønn (Gjenta)","cOrange":"Oransje (Lik)","cRed":"Rød (Avbryt)","change_password":"Endre passord","change_password_error":"Feil ved endring av passord","changed_password":"Passord endret","collapse_subject":"Sammenfold statuser med tema","composing":"komponering","confirm_new_password":"Bekreft nytt passord","current_avatar":"Ditt nåværende profilbilde","current_password":"Nåværende passord","current_profile_banner":"Din nåværende profil-banner","data_import_export_tab":"Data import / eksport","default_vis":"Standard visnings-omfang","delete_account":"Slett konto","delete_account_description":"Fjern din konto og alle dine meldinger for alltid.","delete_account_error":"Det oppsto et problem ved sletting av kontoen din, hvis dette problemet forblir kontakt din administrator","delete_account_instructions":"Skriv inn ditt passord i feltet nedenfor for å bekrefte sletting av konto","avatar_size_instruction":"Den anbefalte minste-størrelsen for profilbilder er 150x150 piksler","export_theme":"Lagre tema","filtering":"Filtrering","filtering_explanation":"Alle statuser som inneholder disse ordene vil bli dempet, en kombinasjon av tegn per linje","follow_export":"Eksporter følginger","follow_export_button":"Eksporter følgingene dine til en .csv fil","follow_import":"Importer følginger","follow_import_error":"Feil ved importering av følginger.","follows_imported":"Følginger importert! Behandling vil ta litt tid.","foreground":"Forgrunn","general":"Generell","hide_attachments_in_convo":"Gjem vedlegg i samtaler","hide_attachments_in_tl":"Gjem vedlegg på tidslinje","hide_muted_posts":"Gjem statuser i fra gjemte brukere","max_thumbnails":"Maks antall forhåndsbilder per status","hide_isp":"Gjem instans-spesifikt panel","preload_images":"Forhåndslast bilder","use_one_click_nsfw":"Åpne sensitive vedlegg med ett klikk","hide_post_stats":"Gjem status statistikk (f.eks. antall likes","hide_user_stats":"Gjem bruker statistikk (f.eks. antall følgere)","hide_filtered_statuses":"Gjem filtrerte statuser","import_blocks_from_a_csv_file":"Importer blokkeringer fra en csv fil","import_followers_from_a_csv_file":"Importer følginger fra en csv fil","import_theme":"Last tema","inputRadius":"Tekst felt","checkboxRadius":"Sjekkbokser","instance_default":"(standard: {value})","instance_default_simple":"(standard)","interface":"Grensesnitt","interfaceLanguage":"Grensesnitt-språk","invalid_theme_imported":"Den valgte filen er ikke ett støttet Pleroma-tema, ingen endringer til ditt tema ble gjort","limited_availability":"Ikke tilgjengelig i din nettleser","links":"Linker","lock_account_description":"Begrens din konto til bare godkjente følgere","loop_video":"Gjenta videoer","loop_video_silent_only":"Gjenta bare videoer uten lyd, (for eksempel Mastodon sine \\"gifs\\")","mutes_tab":"Dempinger","play_videos_in_modal":"Spill videoer direkte i media-avspilleren","use_contain_fit":"Ikke minsk vedlegget i forhåndsvisninger","name":"Navn","name_bio":"Navn & Biografi","new_password":"Nytt passord","notification_visibility":"Typer varsler som skal vises","notification_visibility_follows":"Følginger","notification_visibility_likes":"Likes","notification_visibility_mentions":"Nevnt","notification_visibility_repeats":"Gjentakelser","no_rich_text_description":"Fjern all formatering fra statuser","no_blocks":"Ingen blokkeringer","no_mutes":"Ingen dempinger","hide_follows_description":"Ikke hvis hvem jeg følger","hide_followers_description":"Ikke hvis hvem som følger meg","show_admin_badge":"Hvis ett administratormerke på min profil","show_moderator_badge":"Hvis ett moderatormerke på min profil","nsfw_clickthrough":"Krev trykk for å vise statuser som kan være upassende","oauth_tokens":"OAuth Tokens","token":"Pollett","refresh_token":"Fornyingspolett","valid_until":"Gyldig til","revoke_token":"Tilbakekall","panelRadius":"Panel","pause_on_unfocused":"Stopp henting av poster når vinduet ikke er i fokus","presets":"Forhåndsdefinerte tema","profile_background":"Profil-bakgrunn","profile_banner":"Profil-banner","profile_tab":"Profil","radii_help":"Bestem hvor runde hjørnene i brukergrensesnittet skal være (i piksler)","replies_in_timeline":"Svar på tidslinje","reply_visibility_all":"Vis alle svar","reply_visibility_following":"Vis bare svar som er til meg eller folk jeg følger","reply_visibility_self":"Vis bare svar som er til meg","autohide_floating_post_button":"Skjul Ny Status knapp automatisk (mobil)","saving_err":"Feil ved lagring av innstillinger","saving_ok":"Innstillinger lagret","search_user_to_block":"Søk etter hvem du vil blokkere","search_user_to_mute":"Søk etter hvem du vil dempe","security_tab":"Sikkerhet","scope_copy":"Kopier mottakere når du svarer noen (Direktemeldinger blir alltid kopiert","minimal_scopes_mode":"Minimaliser mottakervalg","set_new_avatar":"Rediger profilbilde","set_new_profile_background":"Rediger profil-bakgrunn","set_new_profile_banner":"Sett ny profil-banner","settings":"Innstillinger","subject_input_always_show":"Alltid hvis tema-felt","subject_line_behavior":"Kopier tema når du svarer","subject_line_email":"Som email: \\"re: tema\\"","subject_line_mastodon":"Som mastodon: kopier som den er","subject_line_noop":"Ikke koper","post_status_content_type":"Status innholdstype","stop_gifs":"Spill av GIFs når du holder over dem","streaming":"Automatisk strømming av nye statuser når du har bladd til toppen","text":"Tekst","theme":"Tema","theme_help":"Bruk heksadesimale fargekoder (#rrggbb) til å endre farge-temaet ditt.","theme_help_v2_1":"Du kan også overskrive noen komponenter sine farger og opasitet ved å sjekke av sjekkboksen, bruk \\"Nullstill alt\\" knappen for å fjerne alle overskrivelser.","theme_help_v2_2":"Ikoner under noen av innstillingene er bakgrunn/tekst kontrast indikatorer, hold over dem for detaljert informasjon. Vennligst husk at disse indikatorene viser det verste utfallet.","tooltipRadius":"Verktøytips/advarsler","upload_a_photo":"Last opp ett bilde","user_settings":"Brukerinstillinger","values":{"false":"nei","true":"ja"},"notifications":"Varsler","notification_mutes":"For å stoppe å motta varsler i fra en spesifikk bruker, kan du dempe dem.","notification_blocks":"Hvis du blokkerer en bruker vil det stoppe alle varsler og i tilleg få dem til å slutte å følge deg","enable_web_push_notifications":"Skru på pushnotifikasjoner i nettlesere","style":{"switcher":{"keep_color":"Behold farger","keep_shadows":"Behold skygger","keep_opacity":"Behold opasitet","keep_roundness":"Behold rundhet","keep_fonts":"Behold fonter","save_load_hint":"\\"Behold\\" alternativer beholder de instillingene som er satt når du velger eller laster inn temaer, det lagrer også disse alternativene når du eksporterer ett tema, Når alle sjekkboksene er tomme, vil alt bli lagret når du eksporterer ett tema.","reset":"Still in på nytt","clear_all":"Nullstill alt","clear_opacity":"Nullstill opasitet"},"common":{"color":"Farge","opacity":"Opasitet","contrast":{"hint":"Kontrast forholdet er {ratio}, it {level} {context}","level":{"aa":"møter Nivå AA retningslinje (minimal)","aaa":"møter Nivå AAA retningslinje (recommended)","bad":"møter ingen tilgjengeligshetsretningslinjer"},"context":{"18pt":"for stor (18pt+) tekst","text":"for tekst"}}},"common_colors":{"_tab_label":"Vanlig","main":"Vanlige farger","foreground_hint":"Se \\"Avansert\\" fanen for mer detaljert kontroll","rgbo":"Ikoner, aksenter, merker"},"advanced_colors":{"_tab_label":"Avansert","alert":"Varslingsbakgrunn","alert_error":"Feil","badge":"Merkebakgrunn","badge_notification":"Varsling","panel_header":"Panelhode","top_bar":"Topplinje","borders":"Kanter","buttons":"Knapper","inputs":"Tekstfelt","faint_text":"Svak tekst"},"radii":{"_tab_label":"Rundhet"},"shadows":{"_tab_label":"Skygger og belysning","component":"Komponent","override":"Overskriv","shadow_id":"Skygge #{value}","blur":"Uklarhet","spread":"Spredning","inset":"Insett","hint":"For skygger kan du sette --variable som en fargeveerdi for å bruke CSS3 variabler. Vær oppmerksom på at å sette opasitet da ikke vil fungere her.","filter_hint":{"always_drop_shadow":"Advarsel, denne skyggen bruker alltid {0} når nettleseren støtter det.","drop_shadow_syntax":"{0} støtter ikke {1} parameter og {2} nøkkelord.","avatar_inset":"Vær oppmerksom på at å kombinere både insatte og uinsatte skygger på profilbilder kan gi uforventede resultater med gjennomsiktige profilbilder.","spread_zero":"Skygger med spredning > 0 vil fremstå som de var satt til 0","inset_classic":"Insette skygger vil bruke {0}"},"components":{"panel":"Panel","panelHeader":"Panelhode","topBar":"Topplinje","avatar":"Profilbilde (i profilvisning)","avatarStatus":"Profilbilde (i statusvisning)","popup":"Popups og tooltips","button":"Knapp","buttonHover":"Knapp (holdt)","buttonPressed":"Knapp (nedtrykt)","buttonPressedHover":"Knapp (nedtrykt+holdt)","input":"Tekstfelt"}},"fonts":{"_tab_label":"Fonter","help":"Velg font til elementene i brukergrensesnittet. For \\"egendefinert\\" må du skrive inn det nøyaktige font-navnet som det fremstår på systemet","components":{"interface":"Grensesnitt","input":"Tekstfelt","post":"Statustekst","postCode":"Monospaced tekst i en status (rik tekst)"},"family":"Font naavn","size":"Størrelse (i piksler)","weight":"Vekt (dristighet)","custom":"Egendefinert"},"preview":{"header":"Forhåndsvisning","content":"Innhold","error":"Eksempel feil","button":"Knapp","text":"Mye mer {0} og {1}","mono":"innhold","input":"Landet akkurat i L.A.","faint_link":"hjelpfull brukerveiledning","fine_print":"Les vår {0} for å lære ingenting nyttig!","header_faint":"Dette er OK","checkbox":"Jeg har skumlest vilkår og betingelser","link":"en flott liten link"}},"version":{"title":"Versjon","backend_version":"Backend Versjon","frontend_version":"Frontend Versjon"},"hide_wallpaper":"Skjul instansens bakgrunnsbilde"},"time":{"day":"{0} dag","days":"{0} dager","day_short":"{0}d","days_short":"{0}d","hour":"{0} time","hours":"{0} timer","hour_short":"{0}t","hours_short":"{0}t","in_future":"om {0}","in_past":"{0} siden","minute":"{0} minutt","minutes":"{0} minutter","minute_short":"{0}min","minutes_short":"{0}min","month":"{0} måned","months":"{0} måneder","month_short":"{0}md.","months_short":"{0}md.","now":"akkurat nå","now_short":"nå","second":"{0} sekund","seconds":"{0} sekunder","second_short":"{0}s","seconds_short":"{0}s","week":"{0} uke","weeks":"{0} uker","week_short":"{0}u","weeks_short":"{0}u","year":"{0} år","years":"{0} år","year_short":"{0}år","years_short":"{0}år"},"timeline":{"collapse":"Sammenfold","conversation":"Samtale","error_fetching":"Feil ved henting av oppdateringer","load_older":"Last eldre statuser","no_retweet_hint":"Status er markert som bare til følgere eller direkte og kan ikke gjentas","repeated":"gjentok","show_new":"Vis nye","up_to_date":"Oppdatert","no_more_statuses":"Ingen flere statuser","no_statuses":"Ingen statuser"},"status":{"favorites":"Favoritter","repeats":"Gjentakelser","delete":"Slett status","pin":"Fremhev på profil","unpin":"Fjern fremhevelse","pinned":"Fremhevet","delete_confirm":"Har du virkelig lyst til å slette denne statusen?","reply_to":"Svar til","replies_list":"Svar:"},"user_card":{"approve":"Godkjenn","block":"Blokker","blocked":"Blokkert!","deny":"Avslå","favorites":"Favoritter","follow":"Følg","follow_sent":"Forespørsel sendt!","follow_progress":"Forespør…","follow_unfollow":"Avfølg","followees":"Følger","followers":"Følgere","following":"Følger!","follows_you":"Følger deg!","its_you":"Det er deg!","media":"Media","mute":"Demp","muted":"Dempet","per_day":"per dag","remote_follow":"Følg eksternt","report":"Rapport","statuses":"Statuser","subscribe":"Abonner","unsubscribe":"Avabonner","unblock":"Fjern blokkering","unblock_progress":"Fjerner blokkering...","block_progress":"Blokkerer...","unmute":"Fjern demping","unmute_progress":"Fjerner demping...","mute_progress":"Demper...","admin_menu":{"moderation":"Moderering","grant_admin":"Gi Administrator","revoke_admin":"Fjern Administrator","grant_moderator":"Gi Moderator","revoke_moderator":"Fjern Moderator","activate_account":"Aktiver konto","deactivate_account":"Deaktiver kontro","delete_account":"Slett konto","force_nsfw":"Merk alle statuser som sensitive","strip_media":"Fjern media i fra statuser","force_unlisted":"Tving statuser til å være uopplistet","sandbox":"Tving statuser til å bare vises til følgere","disable_remote_subscription":"Fjern mulighet til å følge brukeren fra andre instanser","disable_any_subscription":"Fjern mulighet til å følge brukeren","quarantine":"Gjør at statuser fra brukeren ikke kan sendes til andre instanser","delete_user":"Slett bruker","delete_user_confirmation":"Er du helt sikker? Denne handlingen kan ikke omgjøres."}},"user_profile":{"timeline_title":"Bruker-tidslinje","profile_does_not_exist":"Beklager, denne profilen eksisterer ikke.","profile_loading_error":"Beklager, det oppsto en feil under lasting av denne profilen."},"user_reporting":{"title":"Rapporterer {0}","add_comment_description":"Rapporten blir sent til moderatorene av din instans. Du kan gi en forklaring på hvorfor du rapporterer denne kontoen under:","additional_comments":"Videre kommentarer","forward_description":"Denne kontoen er fra en annen server, vil du sende en kopi av rapporten til dem også?","forward_to":"Videresend til {0}","submit":"Send","generic_error":"Det oppsto en feil under behandling av din forespørsel."},"who_to_follow":{"more":"Mer","who_to_follow":"Kontoer å følge"},"tool_tip":{"media_upload":"Last opp media","repeat":"Gjenta","reply":"Svar","favorite":"Lik","user_settings":"Brukerinnstillinger"},"upload":{"error":{"base":"Det oppsto en feil under opplastning.","file_too_big":"Fil for stor [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","default":"Prøv igjen senere"},"file_size_units":{"B":"B","KiB":"KiB","MiB":"MiB","GiB":"GiB","TiB":"TiB"}},"search":{"people":"Folk","hashtags":"Emneknagger","person_talking":"{count} person snakker om dette","people_talking":"{count} personer snakker om dette","no_results":"Ingen resultater"},"about":{"mrf":{"simple":{"quarantine":"Karantene","reject_desc":"Denne instansen vil ikke godta meldinger fra følgende instanser:","reject":"Avvis","accept_desc":"Denne instansen godtar kun meldinger fra følgende instanser:","accept":"Aksepter"},"keyword":{"is_replaced_by":"→","replace":"Erstatt","reject":"Avvis","ftl_removal":"Fjerning fra \\"Det hele kjente nettverket\\" Tidslinjen"}}}}')}}]); +//# sourceMappingURL=22.68c0a771d79e3383f5e8.js.map \ No newline at end of file diff --git a/priv/static/static/js/22.68c0a771d79e3383f5e8.js.map b/priv/static/static/js/22.68c0a771d79e3383f5e8.js.map new file mode 100644 index 000000000..10a44dd2e --- /dev/null +++ b/priv/static/static/js/22.68c0a771d79e3383f5e8.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/22.68c0a771d79e3383f5e8.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/22.dbc79965f66b0bb62d88.js.map b/priv/static/static/js/22.dbc79965f66b0bb62d88.js.map deleted file mode 100644 index a43e0a6b4..000000000 --- a/priv/static/static/js/22.dbc79965f66b0bb62d88.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/22.dbc79965f66b0bb62d88.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/23.4addb03e0862c780c55f.js b/priv/static/static/js/23.0b6cdf4c9dc52c4291c0.js similarity index 70% rename from priv/static/static/js/23.4addb03e0862c780c55f.js rename to priv/static/static/js/23.0b6cdf4c9dc52c4291c0.js index 40d2fb0b3..3d6701989 100644 --- a/priv/static/static/js/23.4addb03e0862c780c55f.js +++ b/priv/static/static/js/23.0b6cdf4c9dc52c4291c0.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{603:function(e){e.exports=JSON.parse('{"chat":{"title":"Chat"},"features_panel":{"chat":"Chat","gopher":"Gopher","media_proxy":"Mediaproxy","scope_options":"Zichtbaarheidsopties","text_limit":"Tekstlimiet","title":"Kenmerken","who_to_follow":"Wie te volgen","upload_limit":"Upload limiet","pleroma_chat_messages":"Pleroma Chat"},"finder":{"error_fetching_user":"Fout tijdens ophalen gebruiker","find_user":"Gebruiker zoeken"},"general":{"apply":"Toepassen","submit":"Verzenden","more":"Meer","optional":"optioneel","show_more":"Meer tonen","show_less":"Minder tonen","dismiss":"Opheffen","cancel":"Annuleren","disable":"Uitschakelen","enable":"Inschakelen","confirm":"Bevestigen","verify":"Verifiëren","generic_error":"Er is een fout opgetreden","peek":"Spieken","close":"Sluiten","retry":"Opnieuw proberen","error_retry":"Probeer het opnieuw","loading":"Laden…","role":{"moderator":"Moderator","admin":"Beheerder"}},"login":{"login":"Inloggen","description":"Inloggen met OAuth","logout":"Uitloggen","password":"Wachtwoord","placeholder":"bijv. barbapapa","register":"Registreren","username":"Gebruikersnaam","hint":"Log in om deel te nemen aan de discussie","authentication_code":"Authenticatiecode","enter_recovery_code":"Voer een herstelcode in","enter_two_factor_code":"Voer een twee-factorcode in","recovery_code":"Herstelcode","heading":{"totp":"Twee-factorauthenticatie","recovery":"Twee-factorherstelling"}},"nav":{"about":"Over","back":"Terug","chat":"Lokale Chat","friend_requests":"Volgverzoeken","mentions":"Vermeldingen","dms":"Privéberichten","public_tl":"Openbare tijdlijn","timeline":"Tijdlijn","twkn":"Bekende Netwerk","user_search":"Gebruiker Zoeken","who_to_follow":"Wie te volgen","preferences":"Voorkeuren","administration":"Beheer","search":"Zoeken","interactions":"Interacties","chats":"Chats","home_timeline":"Thuis tijdlijn","timelines":"Tijdlijnen","bookmarks":"Bladwijzers"},"notifications":{"broken_favorite":"Onbekende status, aan het zoeken…","favorited_you":"vond je status leuk","followed_you":"volgt jou","load_older":"Oudere meldingen laden","notifications":"Meldingen","read":"Gelezen!","repeated_you":"herhaalde je status","no_more_notifications":"Geen meldingen meer","migrated_to":"is gemigreerd naar","follow_request":"wil je volgen","reacted_with":"reageerde met {0}","error":"Fout bij ophalen van meldingen: {0}"},"post_status":{"new_status":"Nieuwe status plaatsen","account_not_locked_warning":"Je account is niet {0}. Iedereen kan je volgen om je alleen-volgers-berichten te lezen.","account_not_locked_warning_link":"gesloten","attachments_sensitive":"Bijlagen als gevoelig markeren","content_type":{"text/plain":"Platte tekst","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},"content_warning":"Onderwerp (optioneel)","default":"Tijd voor anime!","direct_warning":"Deze post zal enkel zichtbaar zijn voor de personen die genoemd zijn.","posting":"Plaatsen","scope":{"direct":"Privé - bericht enkel naar vermelde gebruikers sturen","private":"Enkel volgers - bericht enkel naar volgers sturen","public":"Openbaar - bericht op openbare tijdlijnen plaatsen","unlisted":"Niet vermelden - niet tonen op openbare tijdlijnen"},"direct_warning_to_all":"Dit bericht zal zichtbaar zijn voor alle vermelde gebruikers.","direct_warning_to_first_only":"Dit bericht zal alleen zichtbaar zijn voor de vermelde gebruikers aan het begin van het bericht.","scope_notice":{"public":"Dit bericht zal voor iedereen zichtbaar zijn","unlisted":"Dit bericht zal niet zichtbaar zijn in de Openbare Tijdlijn en Het Geheel Bekende Netwerk","private":"Dit bericht zal voor alleen je volgers zichtbaar zijn"},"post":"Bericht","empty_status_error":"Kan geen lege status zonder bijlagen plaatsen","preview_empty":"Leeg","preview":"Voorbeeld","media_description":"Mediaomschrijving","media_description_error":"Kon media niet ophalen, probeer het opnieuw"},"registration":{"bio":"Bio","email":"E-mail","fullname":"Weergavenaam","password_confirm":"Wachtwoord bevestiging","registration":"Registratie","token":"Uitnodigingstoken","captcha":"CAPTCHA","new_captcha":"Klik op de afbeelding voor een nieuwe captcha","validations":{"username_required":"moet ingevuld zijn","fullname_required":"moet ingevuld zijn","email_required":"moet ingevuld zijn","password_required":"moet ingevuld zijn","password_confirmation_required":"moet ingevuld zijn","password_confirmation_match":"komt niet overeen met het wachtwoord"},"username_placeholder":"bijv. lain","fullname_placeholder":"bijv. Lain Iwakura","bio_placeholder":"bijv.\\nHallo, ik ben Lain.\\nIk ben een animemeisje woonachtig in een buitenwijk in Japan. Je kent me misschien van the Wired.","reason_placeholder":"Deze instantie keurt registraties handmatig goed.\\nLaat de beheerder weten waarom je wilt registreren.","reason":"Reden voor registratie","register":"Registreren"},"settings":{"attachmentRadius":"Bijlages","attachments":"Bijlages","avatar":"Avatar","avatarAltRadius":"Avatars (meldingen)","avatarRadius":"Avatars","background":"Achtergrond","bio":"Bio","btnRadius":"Knoppen","cBlue":"Blauw (Beantwoorden, volgen)","cGreen":"Groen (Herhalen)","cOrange":"Oranje (Favoriet)","cRed":"Rood (Annuleren)","change_password":"Wachtwoord wijzigen","change_password_error":"Er is een fout opgetreden bij het wijzigen van je wachtwoord.","changed_password":"Wachtwoord succesvol gewijzigd!","collapse_subject":"Klap berichten met een onderwerp in","composing":"Opstellen","confirm_new_password":"Nieuw wachtwoord bevestigen","current_avatar":"Je huidige avatar","current_password":"Huidig wachtwoord","current_profile_banner":"Je huidige profiel banner","data_import_export_tab":"Data-import / export","default_vis":"Standaard zichtbaarheidsbereik","delete_account":"Account verwijderen","delete_account_description":"Permanent je gegevens verwijderen en account deactiveren.","delete_account_error":"Er is een fout opgetreden bij het verwijderen van je account. Indien dit probleem zich voor blijft doen, neem dan contact op met de beheerder van deze instantie.","delete_account_instructions":"Voer je wachtwoord in het onderstaande invoerveld in om het verwijderen van je account te bevestigen.","export_theme":"Voorinstelling opslaan","filtering":"Filtering","filtering_explanation":"Alle statussen die deze woorden bevatten worden genegeerd, één filter per regel","follow_export":"Volgers exporteren","follow_export_button":"Exporteer je volgers naar een csv-bestand","follow_export_processing":"Aan het verwerken, binnen enkele ogenblikken wordt je gevraagd je bestand te downloaden","follow_import":"Volgers importeren","follow_import_error":"Fout bij importeren volgers","follows_imported":"Volgers geïmporteerd! Het kan even duren voordat deze verwerkt zijn.","foreground":"Voorgrond","general":"Algemeen","hide_attachments_in_convo":"Bijlagen in conversaties verbergen","hide_attachments_in_tl":"Bijlagen in tijdlijn verbergen","hide_isp":"Instantie-specifiek paneel verbergen","preload_images":"Afbeeldingen vooraf laden","hide_post_stats":"Bericht statistieken verbergen (bijv. het aantal favorieten)","hide_user_stats":"Gebruikers-statistieken verbergen (bijv. het aantal volgers)","import_followers_from_a_csv_file":"Gevolgden uit een csv bestand importeren","import_theme":"Preset laden","inputRadius":"Invoervelden","checkboxRadius":"Checkboxen","instance_default":"(standaard: {value})","instance_default_simple":"(standaard)","interface":"Interface","interfaceLanguage":"Interface taal","invalid_theme_imported":"Het geselecteerde bestand is niet een door Pleroma ondersteund thema. Er zijn geen aanpassingen gedaan.","limited_availability":"Niet beschikbaar in je browser","links":"Links","lock_account_description":"Volgers enkel na expliciete toestemming toelaten","loop_video":"Video\'s herhalen","loop_video_silent_only":"Enkel video\'s zonder geluid herhalen (bijv. Mastodon\'s \\"gifs\\")","name":"Naam","name_bio":"Naam & bio","new_password":"Nieuw wachtwoord","notification_visibility":"Type meldingen die getoond worden","notification_visibility_follows":"Gevolgden","notification_visibility_likes":"Favorieten","notification_visibility_mentions":"Vermeldingen","notification_visibility_repeats":"Herhalingen","no_rich_text_description":"Verwijder rich text formattering van alle berichten","hide_network_description":"Toon niet wie mij volgt en wie ik volg.","nsfw_clickthrough":"Doorklikbaar verbergen van gevoelige bijlages en link voorbeelden inschakelen","oauth_tokens":"OAuth-tokens","token":"Token","refresh_token":"Token vernieuwen","valid_until":"Geldig tot","revoke_token":"Intrekken","panelRadius":"Panelen","pause_on_unfocused":"Streamen pauzeren wanneer de tab niet in focus is","presets":"Presets","profile_background":"Profiel achtergrond","profile_banner":"Profiel banner","profile_tab":"Profiel","radii_help":"Afronding van hoeken in de interface instellen (in pixels)","replies_in_timeline":"Antwoorden in tijdlijn","reply_visibility_all":"Alle antwoorden tonen","reply_visibility_following":"Enkel antwoorden tonen die aan mij of gevolgde gebruikers gericht zijn","reply_visibility_self":"Enkel antwoorden tonen die aan mij gericht zijn","saving_err":"Fout tijdens opslaan van instellingen","saving_ok":"Instellingen opgeslagen","security_tab":"Beveiliging","scope_copy":"Bereik overnemen bij beantwoorden (Privéberichten blijven altijd privé)","set_new_avatar":"Nieuwe avatar instellen","set_new_profile_background":"Nieuwe profiel achtergrond instellen","set_new_profile_banner":"Nieuwe profiel banner instellen","settings":"Instellingen","subject_input_always_show":"Altijd onderwerpveld tonen","subject_line_behavior":"Onderwerp kopiëren bij beantwoorden","subject_line_email":"Zoals email: \\"re: onderwerp\\"","subject_line_mastodon":"Zoals mastodon: kopieer zoals het is","subject_line_noop":"Niet kopiëren","stop_gifs":"GIFs afspelen bij zweven","streaming":"Automatisch streamen van nieuwe berichten inschakelen wanneer tot boven gescrold is","text":"Tekst","theme":"Thema","theme_help":"Hex kleur codes (#rrggbb) gebruiken om je kleur thema te wijzigen.","theme_help_v2_1":"Je kan ook de kleur en transparantie van bepaalde componenten overschrijven door de checkbox aan te vinken, gebruik de \\"Alles wissen\\" knop om alle overschrijvingen te annuleren.","theme_help_v2_2":"Iconen onder sommige onderdelen zijn achtergrond/tekst contrast indicatoren, zweef er over voor gedetailleerde info. Hou er rekening mee dat bij doorzichtigheid de ergst mogelijke situatie wordt weer gegeven.","tooltipRadius":"Tooltips/alarmen","user_settings":"Gebruikersinstellingen","values":{"false":"nee","true":"ja"},"notifications":"Meldingen","enable_web_push_notifications":"Web push meldingen inschakelen","style":{"switcher":{"keep_color":"Kleuren behouden","keep_shadows":"Schaduwen behouden","keep_opacity":"Transparantie behouden","keep_roundness":"Rondingen behouden","keep_fonts":"Lettertypes behouden","save_load_hint":"\\"Behoud\\" opties behouden de momenteel ingestelde opties bij het selecteren of laden van thema\'s, maar slaan ook de genoemde opties op bij het exporteren van een thema. Wanneer alle selectievakjes zijn uitgeschakeld, zal het exporteren van thema\'s alles opslaan.","reset":"Reset","clear_all":"Alles wissen","clear_opacity":"Transparantie wissen","keep_as_is":"Hou zoals het is","use_snapshot":"Oude versie","use_source":"Nieuwe versie","help":{"future_version_imported":"Het geïmporteerde bestand is gemaakt voor een nieuwere versie van FE.","older_version_imported":"Het geïmporteerde bestand is gemaakt voor een oudere versie van FE.","upgraded_from_v2":"PleromaFE is bijgewerkt, het thema kan iets anders uitzien dan dat je gewend bent.","v2_imported":"Het geïmporteerde bestand is gemaakt voor een oudere FE. We proberen compatibiliteit te maximaliseren, maar het kan toch voorkomen dat er inconsistenties zijn.","snapshot_source_mismatch":"Versie conflict: waarschijnlijk was FE terug gerold en opnieuw bijgewerkt, indien je het thema aangepast hebt met de oudere versie van FE wil je waarschijnlijk de oude versie gebruiken, gebruik anders de nieuwe versie.","migration_napshot_gone":"Voor een onduidelijke reden mist de momentopname, dus sommige dingen kunnen anders uitzien dan je gewend bent.","migration_snapshot_ok":"Voor de zekerheid is een momentopname van het thema geladen. Je kunt proberen om de thema gegevens te laden.","fe_downgraded":"PleromaFE\'s versie is terug gerold.","fe_upgraded":"De thema-engine van PleromaFE is bijgewerkt na de versie update.","snapshot_missing":"Het bestand bevat geen thema momentopname, dus het thema kan anders uitzien dan je oorspronkelijk bedacht had.","snapshot_present":"Thema momentopname is geladen, alle waarden zijn overschreven. Je kunt in plaats daarvan ook de daadwerkelijke data van het thema laden."},"load_theme":"Thema laden"},"common":{"color":"Kleur","opacity":"Transparantie","contrast":{"hint":"Contrast verhouding is {ratio}, {level} {context}","level":{"aa":"voldoet aan de richtlijn van niveau AA (minimum)","aaa":"voldoet aan de richtlijn van niveau AAA (aangeraden)","bad":"voldoet aan geen enkele toegankelijkheidsrichtlijn"},"context":{"18pt":"voor grote (18pt+) tekst","text":"voor tekst"}}},"common_colors":{"_tab_label":"Algemeen","main":"Algemene kleuren","foreground_hint":"Zie \\"Geavanceerd\\" tab voor meer gedetailleerde controle","rgbo":"Iconen, accenten, badges"},"advanced_colors":{"_tab_label":"Geavanceerd","alert":"Alarm achtergrond","alert_error":"Fout","badge":"Badge achtergrond","badge_notification":"Meldingen","panel_header":"Paneel koptekst","top_bar":"Top balk","borders":"Randen","buttons":"Knoppen","inputs":"Invoervelden","faint_text":"Vervaagde tekst","tabs":"Tabbladen","toggled":"Geschakeld","disabled":"Uitgeschakeld","selectedMenu":"Geselecteerd menu item","selectedPost":"Geselecteerd bericht","pressed":"Ingedrukt","highlight":"Gemarkeerde elementen","icons":"Iconen","poll":"Poll grafiek","underlay":"Onderlaag","popover":"Tooltips, menu\'s, popovers","post":"Berichten / Gebruiker bios","alert_neutral":"Neutraal","alert_warning":"Waarschuwing","chat":{"border":"Rand","outgoing":"Uitgaand","incoming":"Binnenkomend"},"wallpaper":"Achtergrond"},"radii":{"_tab_label":"Rondheid"},"shadows":{"_tab_label":"Schaduw en belichting","component":"Onderdeel","override":"Overschrijven","shadow_id":"Schaduw #{value}","blur":"Vervagen","spread":"Spreiding","inset":"Inzet","hint":"Voor schaduw kan je ook --variable gebruiken als een kleur waarde om CSS3 variabelen te gebruiken. Houd er rekening mee dat het instellen van opaciteit in dit geval niet werkt.","filter_hint":{"always_drop_shadow":"Waarschuwing, deze schaduw gebruikt altijd {0} als de browser dit ondersteund.","drop_shadow_syntax":"{0} ondersteund niet de {1} parameter en {2} sleutelwoord.","avatar_inset":"Houdt er rekening mee dat het combineren van zowel inzet and niet-inzet schaduwen op transparante avatars onverwachte resultaten kan opleveren.","spread_zero":"Schaduw met spreiding > 0 worden weergegeven alsof ze op nul staan","inset_classic":"Inzet schaduw zal {0} gebruiken"},"components":{"panel":"Paneel","panelHeader":"Paneel koptekst","topBar":"Top balk","avatar":"Gebruikers avatar (in profiel weergave)","avatarStatus":"Gebruikers avatar (in bericht weergave)","popup":"Popups en tooltips","button":"Knop","buttonHover":"Knop (zweven)","buttonPressed":"Knop (ingedrukt)","buttonPressedHover":"Knop (ingedrukt+zweven)","input":"Invoerveld"},"hintV3":"Voor schaduwen kun je ook de {0} notatie gebruiken om de andere kleur invoer te gebruiken."},"fonts":{"_tab_label":"Lettertypes","help":"Selecteer het lettertype om te gebruiken voor elementen van de UI. Voor \\"aangepast\\" dien je de exacte naam van het lettertype in te voeren zoals die in het systeem wordt weergegeven.","components":{"interface":"Interface","input":"Invoervelden","post":"Bericht tekst","postCode":"Monospaced tekst in een bericht (rich text)"},"family":"Lettertype naam","size":"Grootte (in px)","weight":"Gewicht (dikgedruktheid)","custom":"Aangepast"},"preview":{"header":"Voorvertoning","content":"Inhoud","error":"Voorbeeld fout","button":"Knop","text":"Nog een boel andere {0} en {1}","mono":"inhoud","input":"Tijd voor anime!","faint_link":"handige gebruikershandleiding","fine_print":"Lees onze {0} om niets nuttig te leren!","header_faint":"Alles komt goed","checkbox":"Ik heb de gebruikersvoorwaarden gelezen","link":"een leuke kleine link"}},"notification_setting_privacy":"Privacy","notification_setting_privacy_option":"Verberg de afzender en inhoud van push meldingen","notification_mutes":"Om niet langer meldingen te ontvangen van een specifieke gebruiker, kun je deze negeren.","app_name":"App naam","security":"Beveiliging","enter_current_password_to_confirm":"Voer je huidige wachtwoord in om je identiteit te bevestigen","mfa":{"otp":"OTP","setup_otp":"OTP instellen","wait_pre_setup_otp":"OTP voorinstellen","confirm_and_enable":"Bevestig en schakel OTP in","title":"Twee-factorauthenticatie","generate_new_recovery_codes":"Genereer nieuwe herstelcodes","recovery_codes":"Herstelcodes.","waiting_a_recovery_codes":"Back-upcodes ontvangen…","authentication_methods":"Authenticatiemethodes","scan":{"title":"Scannen","desc":"Scan de QR-code of voer een sleutel in met je twee-factorapplicatie:","secret_code":"Sleutel"},"verify":{"desc":"Voer de code van je twee-factorapplicatie in om twee-factorauthenticatie in te schakelen:"},"warning_of_generate_new_codes":"Wanneer je nieuwe herstelcodes genereert, zullen je oude codes niet langer werken.","recovery_codes_warning":"Schrijf de codes op of sla ze op een veilige locatie op - anders kun je ze niet meer inzien. Als je toegang tot je 2FA-app en herstelcodes verliest, zal je buitengesloten zijn van je account."},"allow_following_move":"Automatisch volgen toestaan wanneer een gevolgd account migreert","block_export":"Blokkades exporteren","block_import":"Blokkades importeren","blocks_imported":"Blokkades geïmporteerd! Het kan even duren voordat deze verwerkt zijn.","blocks_tab":"Blokkades","change_email":"E-mail wijzigen","change_email_error":"Er is een fout opgetreden tijdens het wijzigen van je e-mailadres.","changed_email":"E-mailadres succesvol gewijzigd!","domain_mutes":"Domeinen","avatar_size_instruction":"De aangeraden minimale afmeting voor avatar-afbeeldingen is 150x150 pixels.","pad_emoji":"Vul emoji aan met spaties wanneer deze met de picker ingevoegd worden","emoji_reactions_on_timeline":"Toon emoji-reacties op de tijdlijn","accent":"Accent","hide_muted_posts":"Berichten van genegeerde gebruikers verbergen","max_thumbnails":"Maximaal aantal miniaturen per bericht","use_one_click_nsfw":"Gevoelige bijlagen met slechts één klik openen","hide_filtered_statuses":"Gefilterde statussen verbergen","import_blocks_from_a_csv_file":"Blokkades van een csv bestand importeren","mutes_tab":"Genegeerden","play_videos_in_modal":"Video\'s in een popup frame afspelen","new_email":"Nieuwe e-mail","notification_visibility_emoji_reactions":"Reacties","no_blocks":"Geen blokkades","no_mutes":"Geen genegeerden","hide_followers_description":"Niet tonen wie mij volgt","hide_followers_count_description":"Niet mijn volgers aantal tonen","hide_follows_count_description":"Niet mijn gevolgde aantal tonen","show_admin_badge":"\\"Beheerder\\" badge in mijn profiel tonen","autohide_floating_post_button":"Nieuw Bericht knop automatisch verbergen (mobiel)","search_user_to_block":"Zoek wie je wilt blokkeren","search_user_to_mute":"Zoek wie je wilt negeren","minimal_scopes_mode":"Bericht bereik-opties minimaliseren","post_status_content_type":"Bericht status content type","user_mutes":"Gebruikers","useStreamingApi":"Berichten en meldingen in real-time ontvangen","useStreamingApiWarning":"(Afgeraden, experimenteel, kan berichten overslaan)","type_domains_to_mute":"Zoek domeinen om te negeren","upload_a_photo":"Foto uploaden","fun":"Plezier","greentext":"Meme pijlen","block_export_button":"Exporteer je geblokkeerde gebruikers naar een csv-bestand","block_import_error":"Fout bij importeren blokkades","discoverable":"Sta toe dat dit account ontdekt kan worden in zoekresultaten en andere diensten","use_contain_fit":"Bijlage in miniaturen niet bijsnijden","notification_visibility_moves":"Gebruiker Migraties","hide_follows_description":"Niet tonen wie ik volg","show_moderator_badge":"\\"Moderator\\" badge in mijn profiel tonen","notification_setting_filters":"Filters","notification_blocks":"Door een gebruiker te blokkeren, ontvang je geen meldingen meer van de gebruiker en wordt je abonnement op de gebruiker opgeheven.","version":{"frontend_version":"Frontend versie","backend_version":"Backend versie","title":"Versie"},"mutes_and_blocks":"Negeringen en Blokkades","profile_fields":{"value":"Inhoud","name":"Label","add_field":"Veld toevoegen","label":"Profiel metadata"},"bot":"Dit is een bot-account","setting_changed":"Instelling verschilt van standaard waarde","save":"Wijzigingen opslaan","hide_media_previews":"Media voorbeelden verbergen","word_filter":"Woord filter","chatMessageRadius":"Chatbericht","mute_export":"Genegeerden export","mute_export_button":"Exporteer je genegeerden naar een csv-bestand","mute_import_error":"Fout tijdens het importeren van genegeerden","mute_import":"Genegeerden import","mutes_imported":"Genegeerden geïmporteerd! Het kan even duren voordat deze verwerkt zijn.","more_settings":"Meer instellingen","notification_setting_hide_notification_contents":"Afzender en inhoud van push meldingen verbergen","notification_setting_block_from_strangers":"Meldingen van gebruikers die je niet volgt blokkeren","virtual_scrolling":"Tijdlijn rendering optimaliseren","sensitive_by_default":"Berichten standaard als gevoelig markeren","reset_avatar_confirm":"Wil je echt de avatar herstellen?","reset_banner_confirm":"Wil je echt de banner herstellen?","reset_background_confirm":"Wil je echt de achtergrond herstellen?","reset_profile_banner":"Profiel banner herstellen","reset_profile_background":"Profiel achtergrond herstellen","reset_avatar":"Avatar herstellen","reply_visibility_self_short":"Alleen antwoorden aan mijzelf tonen","reply_visibility_following_short":"Antwoorden naar mijn gevolgden tonen","file_export_import":{"errors":{"file_slightly_new":"Bestand minor versie is verschillend, sommige instellingen kunnen mogelijk niet worden geladen","file_too_old":"Incompatibele hoofdversie: {fileMajor}, bestandsversie is te oud en wordt niet ondersteund (minimale versie {feMajor})","file_too_new":"Incompatibele hoofdversie: {fileMajor}, deze PleromaFE (instellingen versie {feMajor}) is te oud om deze te ondersteunen","invalid_file":"Het geselecteerde bestand is niet een door Pleroma ondersteunde instellingen back-up. Er zijn geen wijzigingen gemaakt."},"restore_settings":"Instellingen uit bestand herstellen","backup_settings_theme":"Instellingen en thema naar bestand back-uppen","backup_settings":"Instellingen naar bestand back-uppen","backup_restore":"Instellingen backup"},"hide_wallpaper":"Instantie achtergrond verbergen","hide_all_muted_posts":"Genegeerde berichten verbergen","import_mutes_from_a_csv_file":"Importeer genegeerden van een csv bestand"},"timeline":{"collapse":"Inklappen","conversation":"Conversatie","error_fetching":"Fout bij ophalen van updates","load_older":"Oudere statussen laden","no_retweet_hint":"Bericht is gemarkeerd als enkel volgers of direct en kan niet worden herhaald","repeated":"herhaalde","show_new":"Nieuwe tonen","up_to_date":"Up-to-date","no_statuses":"Geen statussen","no_more_statuses":"Geen statussen meer","socket_broke":"Realtime verbinding verloren: CloseEvent code {0}","socket_reconnected":"Realtime verbinding opgezet","reload":"Verversen","error":"Fout tijdens het ophalen van tijdlijn: {0}"},"user_card":{"approve":"Goedkeuren","block":"Blokkeren","blocked":"Geblokkeerd!","deny":"Weigeren","favorites":"Favorieten","follow":"Volgen","follow_sent":"Aanvraag verzonden!","follow_progress":"Aanvragen…","follow_again":"Aanvraag opnieuw zenden?","follow_unfollow":"Stop volgen","followees":"Aan het volgen","followers":"Volgers","following":"Aan het volgen!","follows_you":"Volgt jou!","its_you":"\'t is jij!","mute":"Negeren","muted":"Genegeerd","per_day":"per dag","remote_follow":"Volg vanop afstand","statuses":"Statussen","admin_menu":{"delete_user_confirmation":"Weet je het heel zeker? Deze uitvoering kan niet ongedaan worden gemaakt.","delete_user":"Gebruiker verwijderen","quarantine":"Federeren van gebruikers berichten verbieden","disable_any_subscription":"Volgen van gebruiker in zijn geheel verbieden","disable_remote_subscription":"Volgen van gebruiker vanaf andere instanties verbieden","sandbox":"Berichten forceren om alleen voor volgers zichtbaar te zijn","force_unlisted":"Berichten forceren om niet publiekelijk getoond te worden","strip_media":"Media van berichten verwijderen","force_nsfw":"Alle berichten als gevoelig markeren","delete_account":"Account verwijderen","deactivate_account":"Account deactiveren","activate_account":"Account activeren","revoke_moderator":"Moderatorsrechten intrekken","grant_moderator":"Moderatorsrechten toekennen","revoke_admin":"Beheerdersrechten intrekken","grant_admin":"Beheerdersrechten toekennen","moderation":"Moderatie"},"show_repeats":"Herhalingen tonen","hide_repeats":"Herhalingen verbergen","mute_progress":"Negeren…","unmute_progress":"Negering opheffen…","unmute":"Negering opheffen","block_progress":"Blokkeren…","unblock_progress":"Blokkade opheffen…","unblock":"Blokkade opheffen","unsubscribe":"Abonnement opzeggen","subscribe":"Abonneren","report":"Aangeven","mention":"Vermelding","media":"Media","hidden":"Verborgen","highlight":{"side":"Zijstreep","striped":"Gestreepte achtergrond","solid":"Effen achtergrond","disabled":"Geen highlight"},"bot":"Bot","message":"Bericht"},"user_profile":{"timeline_title":"Gebruikerstijdlijn","profile_loading_error":"Sorry, er is een fout opgetreden bij het laden van dit profiel.","profile_does_not_exist":"Sorry, dit profiel bestaat niet."},"who_to_follow":{"more":"Meer","who_to_follow":"Wie te volgen"},"tool_tip":{"media_upload":"Media uploaden","repeat":"Herhalen","reply":"Beantwoorden","favorite":"Favoriet maken","user_settings":"Gebruikers Instellingen","reject_follow_request":"Volg-verzoek afwijzen","accept_follow_request":"Volg-aanvraag accepteren","add_reaction":"Reactie toevoegen","bookmark":"Bladwijzer"},"upload":{"error":{"base":"Upload mislukt.","file_too_big":"Bestand is te groot [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","default":"Probeer het later opnieuw","message":"Upload is mislukt: {0}"},"file_size_units":{"B":"B","KiB":"KiB","MiB":"MiB","GiB":"GiB","TiB":"TiB"}},"about":{"mrf":{"federation":"Federatie","keyword":{"reject":"Afwijzen","replace":"Vervangen","is_replaced_by":"→","keyword_policies":"Zoekwoordbeleid","ftl_removal":"Verwijdering van \\"Het Geheel Bekende Netwerk\\" Tijdlijn"},"mrf_policies_desc":"MRF-regels beïnvloeden het federatiegedrag van de instantie. De volgende regels zijn ingeschakeld:","mrf_policies":"Ingeschakelde MRF-regels","simple":{"simple_policies":"Instantiespecifieke regels","accept":"Accepteren","accept_desc":"Deze instantie accepteert alleen berichten van de volgende instanties:","reject":"Afwijzen","reject_desc":"Deze instantie zal geen berichten accepteren van de volgende instanties:","quarantine":"Quarantaine","quarantine_desc":"Deze instantie zal alleen openbare berichten sturen naar de volgende instanties:","ftl_removal_desc":"Deze instantie verwijdert de volgende instanties van \\"Bekende Netwerk\\" tijdlijn:","media_removal_desc":"Deze instantie verwijdert media van berichten van de volgende instanties:","media_nsfw_desc":"Deze instantie stelt media in als gevoelig in berichten van de volgende instanties:","ftl_removal":"Verwijderen van \\"Bekende Netwerk\\" Tijdlijn","media_removal":"Mediaverwijdering","media_nsfw":"Forceer media als gevoelig"}},"staff":"Personeel"},"domain_mute_card":{"mute":"Negeren","mute_progress":"Negeren…","unmute":"Negering opheffen","unmute_progress":"Negering wordt opgeheven…"},"exporter":{"export":"Exporteren","processing":"Verwerken, er wordt zo gevraagd om je bestand te downloaden"},"image_cropper":{"save":"Opslaan","save_without_cropping":"Opslaan zonder bijsnijden","cancel":"Annuleren","crop_picture":"Afbeelding bijsnijden"},"importer":{"submit":"Verzenden","success":"Succesvol geïmporteerd.","error":"Er is een fout opgetreden bij het importeren van dit bestand."},"media_modal":{"previous":"Vorige","next":"Volgende"},"polls":{"add_poll":"Poll toevoegen","add_option":"Optie toevoegen","option":"Optie","votes":"stemmen","vote":"Stem","single_choice":"Enkele keuze","multiple_choices":"Meerkeuze","expiry":"Poll leeftijd","expires_in":"Poll eindigt in {0}","expired":"Poll is {0} geleden beëindigd","not_enough_options":"Te weinig opties in poll","type":"Poll-type","votes_count":"{count} stem | {count} stemmen","people_voted_count":"{count} persoon heeft gestemd | {count} personen hebben gestemd"},"emoji":{"emoji":"Emoji","keep_open":"Picker openhouden","search_emoji":"Emoji zoeken","add_emoji":"Emoji invoegen","unicode":"Unicode-emoji","load_all":"Alle {emojiAmount} emoji worden geladen","stickers":"Stickers","load_all_hint":"Eerste {saneAmount} emoji geladen, alle emoji tegelijk laden kan problemen veroorzaken met prestaties.","custom":"Gepersonaliseerde emoji"},"interactions":{"favs_repeats":"Herhalingen en favorieten","follows":"Nieuwe gevolgden","moves":"Gebruikermigraties","load_older":"Oudere interacties laden"},"remote_user_resolver":{"searching_for":"Zoeken naar","error":"Niet gevonden.","remote_user_resolver":"Externe gebruikers-zoeker"},"selectable_list":{"select_all":"Alles selecteren"},"password_reset":{"password_reset_required_but_mailer_is_disabled":"Je dient je wachtwoord opnieuw in te stellen, maar wachtwoord reset is uitgeschakeld. Neem contact op met de beheerder van deze instantie.","password_reset_required":"Je dient je wachtwoord opnieuw in te stellen om in te kunnen loggen.","password_reset_disabled":"Wachtwoord reset is uitgeschakeld. Neem contact op met de beheerder van deze instantie.","too_many_requests":"Je hebt het maximaal aantal pogingen bereikt, probeer het later opnieuw.","return_home":"Terugkeren naar de home pagina","check_email":"Controleer je email inbox voor een link om je wachtwoord opnieuw in te stellen.","placeholder":"Je email of gebruikersnaam","instruction":"Voer je email adres of gebruikersnaam in. We sturen je een link om je wachtwoord opnieuw in te stellen.","password_reset":"Wachtwoord opnieuw instellen","forgot_password":"Wachtwoord vergeten?"},"search":{"no_results":"Geen resultaten","people_talking":"{count} personen aan het praten","person_talking":"{count} persoon aan het praten","hashtags":"Hashtags","people":"Personen"},"user_reporting":{"generic_error":"Er is een fout opgetreden tijdens het verwerken van je verzoek.","submit":"Verzenden","forward_to":"Doorsturen naar {0}","forward_description":"Dit account hoort bij een andere server. Wil je een kopie van het rapport ook daarheen sturen?","additional_comments":"Aanvullende opmerkingen","add_comment_description":"Het rapport zal naar de moderators van de instantie worden verstuurd. Je kunt hieronder uitleg bijvoegen waarom je dit account wilt aangeven:","title":"{0} aangeven"},"status":{"copy_link":"Link naar status kopiëren","status_unavailable":"Status niet beschikbaar","unmute_conversation":"Conversatie niet meer negeren","mute_conversation":"Conversatie negeren","replies_list":"Antwoorden:","reply_to":"Antwoorden aan","delete_confirm":"Wil je echt deze status verwijderen?","pin":"Aan profiel vastmaken","pinned":"Vastgezet","unpin":"Van profiel losmaken","delete":"Status verwijderen","repeats":"Herhalingen","favorites":"Favorieten","thread_muted_and_words":", heeft woorden:","thread_muted":"Thread genegeerd","expand":"Uitklappen","nsfw":"Gevoelig","status_deleted":"Dit bericht is verwijderd","hide_content":"Inhoud verbergen","show_content":"Inhoud tonen","hide_full_subject":"Volledig onderwerp verbergen","show_full_subject":"Volledig onderwerp tonen","external_source":"Externe bron","unbookmark":"Bladwijzer verwijderen","bookmark":"Bladwijzer toevoegen"},"time":{"years_short":"{0}j","year_short":"{0}j","years":"{0} jaren","year":"{0} jaar","weeks_short":"{0}w","week_short":"{0}w","weeks":"{0} weken","week":"{0} week","seconds_short":"{0}s","second_short":"{0}s","seconds":"{0} seconden","second":"{0} seconde","now_short":"nu","now":"zojuist","months_short":"{0}ma","month_short":"{0}ma","months":"{0} maanden","month":"{0} maand","minutes_short":"{0}min","minute_short":"{0}min","minutes":"{0} minuten","minute":"{0} minuut","in_past":"{0} geleden","in_future":"over {0}","hours_short":"{0}u","hour_short":"{0}u","hours":"{0} uren","hour":"{0} uur","days_short":"{0}d","day_short":"{0}d","days":"{0} dagen","day":"{0} dag"},"shoutbox":{"title":"Shoutbox"},"errors":{"storage_unavailable":"Pleroma kon browseropslag niet benaderen. Je login of lokale instellingen worden niet opgeslagen en je kunt onverwachte problemen ondervinden. Probeer cookies te accepteren."},"display_date":{"today":"Vandaag"},"file_type":{"file":"Bestand","image":"Afbeelding","video":"Video","audio":"Audio"},"chats":{"empty_chat_list_placeholder":"Je hebt nog geen chats. Start een nieuwe chat!","error_sending_message":"Er is iets fout gegaan tijdens het verzenden van het bericht.","error_loading_chat":"Er is iets fout gegaan tijdens het laden van de chat.","delete_confirm":"Wil je echt dit bericht verwijderen?","more":"Meer","empty_message_error":"Kan niet een leeg bericht plaatsen","new":"Nieuwe Chat","chats":"Chats","delete":"Verwijderen","message_user":"Spreek met {nickname}","you":"Jij:"}}')}}]); -//# sourceMappingURL=23.4addb03e0862c780c55f.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[23],{616:function(e){e.exports=JSON.parse('{"chat":{"title":"Chat"},"features_panel":{"chat":"Chat","gopher":"Gopher","media_proxy":"Mediaproxy","scope_options":"Zichtbaarheidsopties","text_limit":"Tekstlimiet","title":"Kenmerken","who_to_follow":"Wie te volgen","upload_limit":"Upload limiet","pleroma_chat_messages":"Pleroma Chat"},"finder":{"error_fetching_user":"Fout tijdens ophalen gebruiker","find_user":"Gebruiker zoeken"},"general":{"apply":"Toepassen","submit":"Verzenden","more":"Meer","optional":"optioneel","show_more":"Meer tonen","show_less":"Minder tonen","dismiss":"Opheffen","cancel":"Annuleren","disable":"Uitschakelen","enable":"Inschakelen","confirm":"Bevestigen","verify":"Verifiëren","generic_error":"Er is een fout opgetreden","peek":"Spieken","close":"Sluiten","retry":"Opnieuw proberen","error_retry":"Probeer het opnieuw","loading":"Laden…","role":{"moderator":"Moderator","admin":"Beheerder"}},"login":{"login":"Inloggen","description":"Inloggen met OAuth","logout":"Uitloggen","password":"Wachtwoord","placeholder":"bijv. barbapapa","register":"Registreren","username":"Gebruikersnaam","hint":"Log in om deel te nemen aan de discussie","authentication_code":"Authenticatiecode","enter_recovery_code":"Voer een herstelcode in","enter_two_factor_code":"Voer een twee-factorcode in","recovery_code":"Herstelcode","heading":{"totp":"Twee-factorauthenticatie","recovery":"Twee-factorherstelling"}},"nav":{"about":"Over","back":"Terug","chat":"Lokale Chat","friend_requests":"Volgverzoeken","mentions":"Vermeldingen","dms":"Privéberichten","public_tl":"Openbare tijdlijn","timeline":"Tijdlijn","twkn":"Bekende Netwerk","user_search":"Gebruiker Zoeken","who_to_follow":"Wie te volgen","preferences":"Voorkeuren","administration":"Beheer","search":"Zoeken","interactions":"Interacties","chats":"Chats","home_timeline":"Thuis tijdlijn","timelines":"Tijdlijnen","bookmarks":"Bladwijzers"},"notifications":{"broken_favorite":"Onbekende status, aan het zoeken…","favorited_you":"vond je status leuk","followed_you":"volgt jou","load_older":"Oudere meldingen laden","notifications":"Meldingen","read":"Gelezen!","repeated_you":"herhaalde je status","no_more_notifications":"Geen meldingen meer","migrated_to":"is gemigreerd naar","follow_request":"wil je volgen","reacted_with":"reageerde met {0}","error":"Fout bij ophalen van meldingen: {0}"},"post_status":{"new_status":"Nieuwe status plaatsen","account_not_locked_warning":"Je account is niet {0}. Iedereen kan je volgen om je alleen-volgers-berichten te lezen.","account_not_locked_warning_link":"gesloten","attachments_sensitive":"Bijlagen als gevoelig markeren","content_type":{"text/plain":"Platte tekst","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},"content_warning":"Onderwerp (optioneel)","default":"Tijd voor anime!","direct_warning":"Deze post zal enkel zichtbaar zijn voor de personen die genoemd zijn.","posting":"Plaatsen","scope":{"direct":"Privé - bericht enkel naar vermelde gebruikers sturen","private":"Enkel volgers - bericht enkel naar volgers sturen","public":"Openbaar - bericht op openbare tijdlijnen plaatsen","unlisted":"Niet vermelden - niet tonen op openbare tijdlijnen"},"direct_warning_to_all":"Dit bericht zal zichtbaar zijn voor alle vermelde gebruikers.","direct_warning_to_first_only":"Dit bericht zal alleen zichtbaar zijn voor de vermelde gebruikers aan het begin van het bericht.","scope_notice":{"public":"Dit bericht zal voor iedereen zichtbaar zijn","unlisted":"Dit bericht zal niet zichtbaar zijn in de Openbare Tijdlijn en Het Geheel Bekende Netwerk","private":"Dit bericht zal voor alleen je volgers zichtbaar zijn"},"post":"Bericht","empty_status_error":"Kan geen lege status zonder bijlagen plaatsen","preview_empty":"Leeg","preview":"Voorbeeld","media_description":"Mediaomschrijving","media_description_error":"Kon media niet ophalen, probeer het opnieuw"},"registration":{"bio":"Bio","email":"E-mail","fullname":"Weergavenaam","password_confirm":"Wachtwoord bevestiging","registration":"Registratie","token":"Uitnodigingstoken","captcha":"CAPTCHA","new_captcha":"Klik op de afbeelding voor een nieuwe captcha","validations":{"username_required":"moet ingevuld zijn","fullname_required":"moet ingevuld zijn","email_required":"moet ingevuld zijn","password_required":"moet ingevuld zijn","password_confirmation_required":"moet ingevuld zijn","password_confirmation_match":"komt niet overeen met het wachtwoord"},"username_placeholder":"bijv. lain","fullname_placeholder":"bijv. Lain Iwakura","bio_placeholder":"bijv.\\nHallo, ik ben Lain.\\nIk ben een animemeisje woonachtig in een buitenwijk in Japan. Je kent me misschien van the Wired.","reason_placeholder":"Deze instantie keurt registraties handmatig goed.\\nLaat de beheerder weten waarom je wilt registreren.","reason":"Reden voor registratie","register":"Registreren"},"settings":{"attachmentRadius":"Bijlages","attachments":"Bijlages","avatar":"Avatar","avatarAltRadius":"Avatars (meldingen)","avatarRadius":"Avatars","background":"Achtergrond","bio":"Bio","btnRadius":"Knoppen","cBlue":"Blauw (Beantwoorden, volgen)","cGreen":"Groen (Herhalen)","cOrange":"Oranje (Favoriet)","cRed":"Rood (Annuleren)","change_password":"Wachtwoord wijzigen","change_password_error":"Er is een fout opgetreden bij het wijzigen van je wachtwoord.","changed_password":"Wachtwoord succesvol gewijzigd!","collapse_subject":"Klap berichten met een onderwerp in","composing":"Opstellen","confirm_new_password":"Nieuw wachtwoord bevestigen","current_avatar":"Je huidige avatar","current_password":"Huidig wachtwoord","current_profile_banner":"Je huidige profiel banner","data_import_export_tab":"Data-import / export","default_vis":"Standaard zichtbaarheidsbereik","delete_account":"Account verwijderen","delete_account_description":"Permanent je gegevens verwijderen en account deactiveren.","delete_account_error":"Er is een fout opgetreden bij het verwijderen van je account. Indien dit probleem zich voor blijft doen, neem dan contact op met de beheerder van deze instantie.","delete_account_instructions":"Voer je wachtwoord in het onderstaande invoerveld in om het verwijderen van je account te bevestigen.","export_theme":"Voorinstelling opslaan","filtering":"Filtering","filtering_explanation":"Alle statussen die deze woorden bevatten worden genegeerd, één filter per regel","follow_export":"Volgers exporteren","follow_export_button":"Exporteer je volgers naar een csv-bestand","follow_export_processing":"Aan het verwerken, binnen enkele ogenblikken wordt je gevraagd je bestand te downloaden","follow_import":"Volgers importeren","follow_import_error":"Fout bij importeren volgers","follows_imported":"Volgers geïmporteerd! Het kan even duren voordat deze verwerkt zijn.","foreground":"Voorgrond","general":"Algemeen","hide_attachments_in_convo":"Bijlagen in conversaties verbergen","hide_attachments_in_tl":"Bijlagen in tijdlijn verbergen","hide_isp":"Instantie-specifiek paneel verbergen","preload_images":"Afbeeldingen vooraf laden","hide_post_stats":"Bericht statistieken verbergen (bijv. het aantal favorieten)","hide_user_stats":"Gebruikers-statistieken verbergen (bijv. het aantal volgers)","import_followers_from_a_csv_file":"Gevolgden uit een csv bestand importeren","import_theme":"Preset laden","inputRadius":"Invoervelden","checkboxRadius":"Checkboxen","instance_default":"(standaard: {value})","instance_default_simple":"(standaard)","interface":"Interface","interfaceLanguage":"Interface taal","invalid_theme_imported":"Het geselecteerde bestand is niet een door Pleroma ondersteund thema. Er zijn geen aanpassingen gedaan.","limited_availability":"Niet beschikbaar in je browser","links":"Links","lock_account_description":"Volgers enkel na expliciete toestemming toelaten","loop_video":"Video\'s herhalen","loop_video_silent_only":"Enkel video\'s zonder geluid herhalen (bijv. Mastodon\'s \\"gifs\\")","name":"Naam","name_bio":"Naam & bio","new_password":"Nieuw wachtwoord","notification_visibility":"Type meldingen die getoond worden","notification_visibility_follows":"Gevolgden","notification_visibility_likes":"Favorieten","notification_visibility_mentions":"Vermeldingen","notification_visibility_repeats":"Herhalingen","no_rich_text_description":"Verwijder rich text formattering van alle berichten","hide_network_description":"Toon niet wie mij volgt en wie ik volg.","nsfw_clickthrough":"Doorklikbaar verbergen van gevoelige bijlages en link voorbeelden inschakelen","oauth_tokens":"OAuth-tokens","token":"Token","refresh_token":"Token vernieuwen","valid_until":"Geldig tot","revoke_token":"Intrekken","panelRadius":"Panelen","pause_on_unfocused":"Streamen pauzeren wanneer de tab niet in focus is","presets":"Presets","profile_background":"Profiel achtergrond","profile_banner":"Profiel banner","profile_tab":"Profiel","radii_help":"Afronding van hoeken in de interface instellen (in pixels)","replies_in_timeline":"Antwoorden in tijdlijn","reply_visibility_all":"Alle antwoorden tonen","reply_visibility_following":"Enkel antwoorden tonen die aan mij of gevolgde gebruikers gericht zijn","reply_visibility_self":"Enkel antwoorden tonen die aan mij gericht zijn","saving_err":"Fout tijdens opslaan van instellingen","saving_ok":"Instellingen opgeslagen","security_tab":"Beveiliging","scope_copy":"Bereik overnemen bij beantwoorden (Privéberichten blijven altijd privé)","set_new_avatar":"Nieuwe avatar instellen","set_new_profile_background":"Nieuwe profiel achtergrond instellen","set_new_profile_banner":"Nieuwe profiel banner instellen","settings":"Instellingen","subject_input_always_show":"Altijd onderwerpveld tonen","subject_line_behavior":"Onderwerp kopiëren bij beantwoorden","subject_line_email":"Zoals email: \\"re: onderwerp\\"","subject_line_mastodon":"Zoals mastodon: kopieer zoals het is","subject_line_noop":"Niet kopiëren","stop_gifs":"GIFs afspelen bij zweven","streaming":"Automatisch streamen van nieuwe berichten inschakelen wanneer tot boven gescrold is","text":"Tekst","theme":"Thema","theme_help":"Hex kleur codes (#rrggbb) gebruiken om je kleur thema te wijzigen.","theme_help_v2_1":"Je kan ook de kleur en transparantie van bepaalde componenten overschrijven door de checkbox aan te vinken, gebruik de \\"Alles wissen\\" knop om alle overschrijvingen te annuleren.","theme_help_v2_2":"Iconen onder sommige onderdelen zijn achtergrond/tekst contrast indicatoren, zweef er over voor gedetailleerde info. Hou er rekening mee dat bij doorzichtigheid de ergst mogelijke situatie wordt weer gegeven.","tooltipRadius":"Tooltips/alarmen","user_settings":"Gebruikersinstellingen","values":{"false":"nee","true":"ja"},"notifications":"Meldingen","enable_web_push_notifications":"Web push meldingen inschakelen","style":{"switcher":{"keep_color":"Kleuren behouden","keep_shadows":"Schaduwen behouden","keep_opacity":"Transparantie behouden","keep_roundness":"Rondingen behouden","keep_fonts":"Lettertypes behouden","save_load_hint":"\\"Behoud\\" opties behouden de momenteel ingestelde opties bij het selecteren of laden van thema\'s, maar slaan ook de genoemde opties op bij het exporteren van een thema. Wanneer alle selectievakjes zijn uitgeschakeld, zal het exporteren van thema\'s alles opslaan.","reset":"Reset","clear_all":"Alles wissen","clear_opacity":"Transparantie wissen","keep_as_is":"Hou zoals het is","use_snapshot":"Oude versie","use_source":"Nieuwe versie","help":{"future_version_imported":"Het geïmporteerde bestand is gemaakt voor een nieuwere versie van FE.","older_version_imported":"Het geïmporteerde bestand is gemaakt voor een oudere versie van FE.","upgraded_from_v2":"PleromaFE is bijgewerkt, het thema kan iets anders uitzien dan dat je gewend bent.","v2_imported":"Het geïmporteerde bestand is gemaakt voor een oudere FE. We proberen compatibiliteit te maximaliseren, maar het kan toch voorkomen dat er inconsistenties zijn.","snapshot_source_mismatch":"Versie conflict: waarschijnlijk was FE terug gerold en opnieuw bijgewerkt, indien je het thema aangepast hebt met de oudere versie van FE wil je waarschijnlijk de oude versie gebruiken, gebruik anders de nieuwe versie.","migration_napshot_gone":"Voor een onduidelijke reden mist de momentopname, dus sommige dingen kunnen anders uitzien dan je gewend bent.","migration_snapshot_ok":"Voor de zekerheid is een momentopname van het thema geladen. Je kunt proberen om de thema gegevens te laden.","fe_downgraded":"PleromaFE\'s versie is terug gerold.","fe_upgraded":"De thema-engine van PleromaFE is bijgewerkt na de versie update.","snapshot_missing":"Het bestand bevat geen thema momentopname, dus het thema kan anders uitzien dan je oorspronkelijk bedacht had.","snapshot_present":"Thema momentopname is geladen, alle waarden zijn overschreven. Je kunt in plaats daarvan ook de daadwerkelijke data van het thema laden."},"load_theme":"Thema laden"},"common":{"color":"Kleur","opacity":"Transparantie","contrast":{"hint":"Contrast verhouding is {ratio}, {level} {context}","level":{"aa":"voldoet aan de richtlijn van niveau AA (minimum)","aaa":"voldoet aan de richtlijn van niveau AAA (aangeraden)","bad":"voldoet aan geen enkele toegankelijkheidsrichtlijn"},"context":{"18pt":"voor grote (18pt+) tekst","text":"voor tekst"}}},"common_colors":{"_tab_label":"Algemeen","main":"Algemene kleuren","foreground_hint":"Zie \\"Geavanceerd\\" tab voor meer gedetailleerde controle","rgbo":"Iconen, accenten, badges"},"advanced_colors":{"_tab_label":"Geavanceerd","alert":"Alarm achtergrond","alert_error":"Fout","badge":"Badge achtergrond","badge_notification":"Meldingen","panel_header":"Paneel koptekst","top_bar":"Top balk","borders":"Randen","buttons":"Knoppen","inputs":"Invoervelden","faint_text":"Vervaagde tekst","tabs":"Tabbladen","toggled":"Geschakeld","disabled":"Uitgeschakeld","selectedMenu":"Geselecteerd menu item","selectedPost":"Geselecteerd bericht","pressed":"Ingedrukt","highlight":"Gemarkeerde elementen","icons":"Iconen","poll":"Poll grafiek","underlay":"Onderlaag","popover":"Tooltips, menu\'s, popovers","post":"Berichten / Gebruiker bios","alert_neutral":"Neutraal","alert_warning":"Waarschuwing","chat":{"border":"Rand","outgoing":"Uitgaand","incoming":"Binnenkomend"},"wallpaper":"Achtergrond"},"radii":{"_tab_label":"Rondheid"},"shadows":{"_tab_label":"Schaduw en belichting","component":"Onderdeel","override":"Overschrijven","shadow_id":"Schaduw #{value}","blur":"Vervagen","spread":"Spreiding","inset":"Inzet","hint":"Voor schaduw kan je ook --variable gebruiken als een kleur waarde om CSS3 variabelen te gebruiken. Houd er rekening mee dat het instellen van opaciteit in dit geval niet werkt.","filter_hint":{"always_drop_shadow":"Waarschuwing, deze schaduw gebruikt altijd {0} als de browser dit ondersteund.","drop_shadow_syntax":"{0} ondersteund niet de {1} parameter en {2} sleutelwoord.","avatar_inset":"Houdt er rekening mee dat het combineren van zowel inzet and niet-inzet schaduwen op transparante avatars onverwachte resultaten kan opleveren.","spread_zero":"Schaduw met spreiding > 0 worden weergegeven alsof ze op nul staan","inset_classic":"Inzet schaduw zal {0} gebruiken"},"components":{"panel":"Paneel","panelHeader":"Paneel koptekst","topBar":"Top balk","avatar":"Gebruikers avatar (in profiel weergave)","avatarStatus":"Gebruikers avatar (in bericht weergave)","popup":"Popups en tooltips","button":"Knop","buttonHover":"Knop (zweven)","buttonPressed":"Knop (ingedrukt)","buttonPressedHover":"Knop (ingedrukt+zweven)","input":"Invoerveld"},"hintV3":"Voor schaduwen kun je ook de {0} notatie gebruiken om de andere kleur invoer te gebruiken."},"fonts":{"_tab_label":"Lettertypes","help":"Selecteer het lettertype om te gebruiken voor elementen van de UI. Voor \\"aangepast\\" dien je de exacte naam van het lettertype in te voeren zoals die in het systeem wordt weergegeven.","components":{"interface":"Interface","input":"Invoervelden","post":"Bericht tekst","postCode":"Monospaced tekst in een bericht (rich text)"},"family":"Lettertype naam","size":"Grootte (in px)","weight":"Gewicht (dikgedruktheid)","custom":"Aangepast"},"preview":{"header":"Voorvertoning","content":"Inhoud","error":"Voorbeeld fout","button":"Knop","text":"Nog een boel andere {0} en {1}","mono":"inhoud","input":"Tijd voor anime!","faint_link":"handige gebruikershandleiding","fine_print":"Lees onze {0} om niets nuttig te leren!","header_faint":"Alles komt goed","checkbox":"Ik heb de gebruikersvoorwaarden gelezen","link":"een leuke kleine link"}},"notification_setting_privacy":"Privacy","notification_setting_privacy_option":"Verberg de afzender en inhoud van push meldingen","notification_mutes":"Om niet langer meldingen te ontvangen van een specifieke gebruiker, kun je deze negeren.","app_name":"App naam","security":"Beveiliging","enter_current_password_to_confirm":"Voer je huidige wachtwoord in om je identiteit te bevestigen","mfa":{"otp":"OTP","setup_otp":"OTP instellen","wait_pre_setup_otp":"OTP voorinstellen","confirm_and_enable":"Bevestig en schakel OTP in","title":"Twee-factorauthenticatie","generate_new_recovery_codes":"Genereer nieuwe herstelcodes","recovery_codes":"Herstelcodes.","waiting_a_recovery_codes":"Back-upcodes ontvangen…","authentication_methods":"Authenticatiemethodes","scan":{"title":"Scannen","desc":"Scan de QR-code of voer een sleutel in met je twee-factorapplicatie:","secret_code":"Sleutel"},"verify":{"desc":"Voer de code van je twee-factorapplicatie in om twee-factorauthenticatie in te schakelen:"},"warning_of_generate_new_codes":"Wanneer je nieuwe herstelcodes genereert, zullen je oude codes niet langer werken.","recovery_codes_warning":"Schrijf de codes op of sla ze op een veilige locatie op - anders kun je ze niet meer inzien. Als je toegang tot je 2FA-app en herstelcodes verliest, zal je buitengesloten zijn van je account."},"allow_following_move":"Automatisch volgen toestaan wanneer een gevolgd account migreert","block_export":"Blokkades exporteren","block_import":"Blokkades importeren","blocks_imported":"Blokkades geïmporteerd! Het kan even duren voordat deze verwerkt zijn.","blocks_tab":"Blokkades","change_email":"E-mail wijzigen","change_email_error":"Er is een fout opgetreden tijdens het wijzigen van je e-mailadres.","changed_email":"E-mailadres succesvol gewijzigd!","domain_mutes":"Domeinen","avatar_size_instruction":"De aangeraden minimale afmeting voor avatar-afbeeldingen is 150x150 pixels.","pad_emoji":"Vul emoji aan met spaties wanneer deze met de picker ingevoegd worden","emoji_reactions_on_timeline":"Toon emoji-reacties op de tijdlijn","accent":"Accent","hide_muted_posts":"Berichten van genegeerde gebruikers verbergen","max_thumbnails":"Maximaal aantal miniaturen per bericht","use_one_click_nsfw":"Gevoelige bijlagen met slechts één klik openen","hide_filtered_statuses":"Gefilterde statussen verbergen","import_blocks_from_a_csv_file":"Blokkades van een csv bestand importeren","mutes_tab":"Genegeerden","play_videos_in_modal":"Video\'s in een popup frame afspelen","new_email":"Nieuwe e-mail","notification_visibility_emoji_reactions":"Reacties","no_blocks":"Geen blokkades","no_mutes":"Geen genegeerden","hide_followers_description":"Niet tonen wie mij volgt","hide_followers_count_description":"Niet mijn volgers aantal tonen","hide_follows_count_description":"Niet mijn gevolgde aantal tonen","show_admin_badge":"\\"Beheerder\\" badge in mijn profiel tonen","autohide_floating_post_button":"Nieuw Bericht knop automatisch verbergen (mobiel)","search_user_to_block":"Zoek wie je wilt blokkeren","search_user_to_mute":"Zoek wie je wilt negeren","minimal_scopes_mode":"Bericht bereik-opties minimaliseren","post_status_content_type":"Bericht status content type","user_mutes":"Gebruikers","useStreamingApi":"Berichten en meldingen in real-time ontvangen","useStreamingApiWarning":"(Afgeraden, experimenteel, kan berichten overslaan)","type_domains_to_mute":"Zoek domeinen om te negeren","upload_a_photo":"Foto uploaden","fun":"Plezier","greentext":"Meme pijlen","block_export_button":"Exporteer je geblokkeerde gebruikers naar een csv-bestand","block_import_error":"Fout bij importeren blokkades","discoverable":"Sta toe dat dit account ontdekt kan worden in zoekresultaten en andere diensten","use_contain_fit":"Bijlage in miniaturen niet bijsnijden","notification_visibility_moves":"Gebruiker Migraties","hide_follows_description":"Niet tonen wie ik volg","show_moderator_badge":"\\"Moderator\\" badge in mijn profiel tonen","notification_setting_filters":"Filters","notification_blocks":"Door een gebruiker te blokkeren, ontvang je geen meldingen meer van de gebruiker en wordt je abonnement op de gebruiker opgeheven.","version":{"frontend_version":"Frontend versie","backend_version":"Backend versie","title":"Versie"},"mutes_and_blocks":"Negeringen en Blokkades","profile_fields":{"value":"Inhoud","name":"Label","add_field":"Veld toevoegen","label":"Profiel metadata"},"bot":"Dit is een bot-account","setting_changed":"Instelling verschilt van standaard waarde","save":"Wijzigingen opslaan","hide_media_previews":"Media voorbeelden verbergen","word_filter":"Woord filter","chatMessageRadius":"Chatbericht","mute_export":"Genegeerden export","mute_export_button":"Exporteer je genegeerden naar een csv-bestand","mute_import_error":"Fout tijdens het importeren van genegeerden","mute_import":"Genegeerden import","mutes_imported":"Genegeerden geïmporteerd! Het kan even duren voordat deze verwerkt zijn.","more_settings":"Meer instellingen","notification_setting_hide_notification_contents":"Afzender en inhoud van push meldingen verbergen","notification_setting_block_from_strangers":"Meldingen van gebruikers die je niet volgt blokkeren","virtual_scrolling":"Tijdlijn rendering optimaliseren","sensitive_by_default":"Berichten standaard als gevoelig markeren","reset_avatar_confirm":"Wil je echt de avatar herstellen?","reset_banner_confirm":"Wil je echt de banner herstellen?","reset_background_confirm":"Wil je echt de achtergrond herstellen?","reset_profile_banner":"Profiel banner herstellen","reset_profile_background":"Profiel achtergrond herstellen","reset_avatar":"Avatar herstellen","reply_visibility_self_short":"Alleen antwoorden aan mijzelf tonen","reply_visibility_following_short":"Antwoorden naar mijn gevolgden tonen","file_export_import":{"errors":{"file_slightly_new":"Bestand minor versie is verschillend, sommige instellingen kunnen mogelijk niet worden geladen","file_too_old":"Incompatibele hoofdversie: {fileMajor}, bestandsversie is te oud en wordt niet ondersteund (minimale versie {feMajor})","file_too_new":"Incompatibele hoofdversie: {fileMajor}, deze PleromaFE (instellingen versie {feMajor}) is te oud om deze te ondersteunen","invalid_file":"Het geselecteerde bestand is niet een door Pleroma ondersteunde instellingen back-up. Er zijn geen wijzigingen gemaakt."},"restore_settings":"Instellingen uit bestand herstellen","backup_settings_theme":"Instellingen en thema naar bestand back-uppen","backup_settings":"Instellingen naar bestand back-uppen","backup_restore":"Instellingen backup"},"hide_wallpaper":"Instantie achtergrond verbergen","hide_all_muted_posts":"Genegeerde berichten verbergen","import_mutes_from_a_csv_file":"Importeer genegeerden van een csv bestand"},"timeline":{"collapse":"Inklappen","conversation":"Conversatie","error_fetching":"Fout bij ophalen van updates","load_older":"Oudere statussen laden","no_retweet_hint":"Bericht is gemarkeerd als enkel volgers of direct en kan niet worden herhaald","repeated":"herhaalde","show_new":"Nieuwe tonen","up_to_date":"Up-to-date","no_statuses":"Geen statussen","no_more_statuses":"Geen statussen meer","socket_broke":"Realtime verbinding verloren: CloseEvent code {0}","socket_reconnected":"Realtime verbinding opgezet","reload":"Verversen","error":"Fout tijdens het ophalen van tijdlijn: {0}"},"user_card":{"approve":"Goedkeuren","block":"Blokkeren","blocked":"Geblokkeerd!","deny":"Weigeren","favorites":"Favorieten","follow":"Volgen","follow_cancel":"Aanvraag annuleren","follow_sent":"Aanvraag verzonden!","follow_progress":"Aanvragen…","follow_unfollow":"Stop volgen","followees":"Aan het volgen","followers":"Volgers","following":"Aan het volgen!","follows_you":"Volgt jou!","its_you":"\'t is jij!","mute":"Negeren","muted":"Genegeerd","per_day":"per dag","remote_follow":"Volg vanop afstand","statuses":"Statussen","admin_menu":{"delete_user_confirmation":"Weet je het heel zeker? Deze uitvoering kan niet ongedaan worden gemaakt.","delete_user":"Gebruiker verwijderen","quarantine":"Federeren van gebruikers berichten verbieden","disable_any_subscription":"Volgen van gebruiker in zijn geheel verbieden","disable_remote_subscription":"Volgen van gebruiker vanaf andere instanties verbieden","sandbox":"Berichten forceren om alleen voor volgers zichtbaar te zijn","force_unlisted":"Berichten forceren om niet publiekelijk getoond te worden","strip_media":"Media van berichten verwijderen","force_nsfw":"Alle berichten als gevoelig markeren","delete_account":"Account verwijderen","deactivate_account":"Account deactiveren","activate_account":"Account activeren","revoke_moderator":"Moderatorsrechten intrekken","grant_moderator":"Moderatorsrechten toekennen","revoke_admin":"Beheerdersrechten intrekken","grant_admin":"Beheerdersrechten toekennen","moderation":"Moderatie"},"show_repeats":"Herhalingen tonen","hide_repeats":"Herhalingen verbergen","mute_progress":"Negeren…","unmute_progress":"Negering opheffen…","unmute":"Negering opheffen","block_progress":"Blokkeren…","unblock_progress":"Blokkade opheffen…","unblock":"Blokkade opheffen","unsubscribe":"Abonnement opzeggen","subscribe":"Abonneren","report":"Aangeven","mention":"Vermelding","media":"Media","hidden":"Verborgen","highlight":{"side":"Zijstreep","striped":"Gestreepte achtergrond","solid":"Effen achtergrond","disabled":"Geen highlight"},"bot":"Bot","message":"Bericht"},"user_profile":{"timeline_title":"Gebruikerstijdlijn","profile_loading_error":"Sorry, er is een fout opgetreden bij het laden van dit profiel.","profile_does_not_exist":"Sorry, dit profiel bestaat niet."},"who_to_follow":{"more":"Meer","who_to_follow":"Wie te volgen"},"tool_tip":{"media_upload":"Media uploaden","repeat":"Herhalen","reply":"Beantwoorden","favorite":"Favoriet maken","user_settings":"Gebruikers Instellingen","reject_follow_request":"Volg-verzoek afwijzen","accept_follow_request":"Volg-aanvraag accepteren","add_reaction":"Reactie toevoegen","bookmark":"Bladwijzer"},"upload":{"error":{"base":"Upload mislukt.","file_too_big":"Bestand is te groot [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","default":"Probeer het later opnieuw","message":"Upload is mislukt: {0}"},"file_size_units":{"B":"B","KiB":"KiB","MiB":"MiB","GiB":"GiB","TiB":"TiB"}},"about":{"mrf":{"federation":"Federatie","keyword":{"reject":"Afwijzen","replace":"Vervangen","is_replaced_by":"→","keyword_policies":"Zoekwoordbeleid","ftl_removal":"Verwijdering van \\"Het Geheel Bekende Netwerk\\" Tijdlijn"},"mrf_policies_desc":"MRF-regels beïnvloeden het federatiegedrag van de instantie. De volgende regels zijn ingeschakeld:","mrf_policies":"Ingeschakelde MRF-regels","simple":{"simple_policies":"Instantiespecifieke regels","instance":"Instantie","reason":"Reden","not_applicable":"n.v.t.","accept":"Accepteren","accept_desc":"Deze instantie accepteert alleen berichten van de volgende instanties:","reject":"Afwijzen","reject_desc":"Deze instantie zal geen berichten accepteren van de volgende instanties:","quarantine":"Quarantaine","quarantine_desc":"Deze instantie zal alleen openbare berichten sturen naar de volgende instanties:","ftl_removal_desc":"Deze instantie verwijdert de volgende instanties van \\"Bekende Netwerk\\" tijdlijn:","media_removal_desc":"Deze instantie verwijdert media van berichten van de volgende instanties:","media_nsfw_desc":"Deze instantie stelt media in als gevoelig in berichten van de volgende instanties:","ftl_removal":"Verwijderen van \\"Bekende Netwerk\\" Tijdlijn","media_removal":"Mediaverwijdering","media_nsfw":"Forceer media als gevoelig"}},"staff":"Personeel"},"domain_mute_card":{"mute":"Negeren","mute_progress":"Negeren…","unmute":"Negering opheffen","unmute_progress":"Negering wordt opgeheven…"},"exporter":{"export":"Exporteren","processing":"Verwerken, er wordt zo gevraagd om je bestand te downloaden"},"image_cropper":{"save":"Opslaan","save_without_cropping":"Opslaan zonder bijsnijden","cancel":"Annuleren","crop_picture":"Afbeelding bijsnijden"},"importer":{"submit":"Verzenden","success":"Succesvol geïmporteerd.","error":"Er is een fout opgetreden bij het importeren van dit bestand."},"media_modal":{"previous":"Vorige","next":"Volgende"},"polls":{"add_poll":"Poll toevoegen","add_option":"Optie toevoegen","option":"Optie","votes":"stemmen","vote":"Stem","single_choice":"Enkele keuze","multiple_choices":"Meerkeuze","expiry":"Poll leeftijd","expires_in":"Poll eindigt in {0}","expired":"Poll is {0} geleden beëindigd","not_enough_options":"Te weinig opties in poll","type":"Poll-type","votes_count":"{count} stem | {count} stemmen","people_voted_count":"{count} persoon heeft gestemd | {count} personen hebben gestemd"},"emoji":{"emoji":"Emoji","keep_open":"Picker openhouden","search_emoji":"Emoji zoeken","add_emoji":"Emoji invoegen","unicode":"Unicode-emoji","load_all":"Alle {emojiAmount} emoji worden geladen","stickers":"Stickers","load_all_hint":"Eerste {saneAmount} emoji geladen, alle emoji tegelijk laden kan problemen veroorzaken met prestaties.","custom":"Gepersonaliseerde emoji"},"interactions":{"favs_repeats":"Herhalingen en favorieten","follows":"Nieuwe gevolgden","moves":"Gebruikermigraties","load_older":"Oudere interacties laden"},"remote_user_resolver":{"searching_for":"Zoeken naar","error":"Niet gevonden.","remote_user_resolver":"Externe gebruikers-zoeker"},"selectable_list":{"select_all":"Alles selecteren"},"password_reset":{"password_reset_required_but_mailer_is_disabled":"Je dient je wachtwoord opnieuw in te stellen, maar wachtwoord reset is uitgeschakeld. Neem contact op met de beheerder van deze instantie.","password_reset_required":"Je dient je wachtwoord opnieuw in te stellen om in te kunnen loggen.","password_reset_disabled":"Wachtwoord reset is uitgeschakeld. Neem contact op met de beheerder van deze instantie.","too_many_requests":"Je hebt het maximaal aantal pogingen bereikt, probeer het later opnieuw.","return_home":"Terugkeren naar de home pagina","check_email":"Controleer je email inbox voor een link om je wachtwoord opnieuw in te stellen.","placeholder":"Je email of gebruikersnaam","instruction":"Voer je email adres of gebruikersnaam in. We sturen je een link om je wachtwoord opnieuw in te stellen.","password_reset":"Wachtwoord opnieuw instellen","forgot_password":"Wachtwoord vergeten?"},"search":{"no_results":"Geen resultaten","people_talking":"{count} personen aan het praten","person_talking":"{count} persoon aan het praten","hashtags":"Hashtags","people":"Personen"},"user_reporting":{"generic_error":"Er is een fout opgetreden tijdens het verwerken van je verzoek.","submit":"Verzenden","forward_to":"Doorsturen naar {0}","forward_description":"Dit account hoort bij een andere server. Wil je een kopie van het rapport ook daarheen sturen?","additional_comments":"Aanvullende opmerkingen","add_comment_description":"Het rapport zal naar de moderators van de instantie worden verstuurd. Je kunt hieronder uitleg bijvoegen waarom je dit account wilt aangeven:","title":"{0} aangeven"},"status":{"copy_link":"Link naar status kopiëren","status_unavailable":"Status niet beschikbaar","unmute_conversation":"Conversatie niet meer negeren","mute_conversation":"Conversatie negeren","replies_list":"Antwoorden:","reply_to":"Antwoorden aan","delete_confirm":"Wil je echt deze status verwijderen?","pin":"Aan profiel vastmaken","pinned":"Vastgezet","unpin":"Van profiel losmaken","delete":"Status verwijderen","repeats":"Herhalingen","favorites":"Favorieten","thread_muted_and_words":", heeft woorden:","thread_muted":"Thread genegeerd","expand":"Uitklappen","nsfw":"Gevoelig","status_deleted":"Dit bericht is verwijderd","hide_content":"Inhoud verbergen","show_content":"Inhoud tonen","hide_full_subject":"Volledig onderwerp verbergen","show_full_subject":"Volledig onderwerp tonen","external_source":"Externe bron","unbookmark":"Bladwijzer verwijderen","bookmark":"Bladwijzer toevoegen"},"time":{"years_short":"{0}j","year_short":"{0}j","years":"{0} jaren","year":"{0} jaar","weeks_short":"{0}w","week_short":"{0}w","weeks":"{0} weken","week":"{0} week","seconds_short":"{0}s","second_short":"{0}s","seconds":"{0} seconden","second":"{0} seconde","now_short":"nu","now":"zojuist","months_short":"{0}ma","month_short":"{0}ma","months":"{0} maanden","month":"{0} maand","minutes_short":"{0}min","minute_short":"{0}min","minutes":"{0} minuten","minute":"{0} minuut","in_past":"{0} geleden","in_future":"over {0}","hours_short":"{0}u","hour_short":"{0}u","hours":"{0} uren","hour":"{0} uur","days_short":"{0}d","day_short":"{0}d","days":"{0} dagen","day":"{0} dag"},"shoutbox":{"title":"Shoutbox"},"errors":{"storage_unavailable":"Pleroma kon browseropslag niet benaderen. Je login of lokale instellingen worden niet opgeslagen en je kunt onverwachte problemen ondervinden. Probeer cookies te accepteren."},"display_date":{"today":"Vandaag"},"file_type":{"file":"Bestand","image":"Afbeelding","video":"Video","audio":"Audio"},"chats":{"empty_chat_list_placeholder":"Je hebt nog geen chats. Start een nieuwe chat!","error_sending_message":"Er is iets fout gegaan tijdens het verzenden van het bericht.","error_loading_chat":"Er is iets fout gegaan tijdens het laden van de chat.","delete_confirm":"Wil je echt dit bericht verwijderen?","more":"Meer","empty_message_error":"Kan niet een leeg bericht plaatsen","new":"Nieuwe Chat","chats":"Chats","delete":"Verwijderen","message_user":"Spreek met {nickname}","you":"Jij:"}}')}}]); +//# sourceMappingURL=23.0b6cdf4c9dc52c4291c0.js.map \ No newline at end of file diff --git a/priv/static/static/js/23.0b6cdf4c9dc52c4291c0.js.map b/priv/static/static/js/23.0b6cdf4c9dc52c4291c0.js.map new file mode 100644 index 000000000..f5200b9dc --- /dev/null +++ b/priv/static/static/js/23.0b6cdf4c9dc52c4291c0.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/23.0b6cdf4c9dc52c4291c0.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/23.4addb03e0862c780c55f.js.map b/priv/static/static/js/23.4addb03e0862c780c55f.js.map deleted file mode 100644 index 3ab3410ee..000000000 --- a/priv/static/static/js/23.4addb03e0862c780c55f.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/23.4addb03e0862c780c55f.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/24.e4b623be1780a14a6168.js b/priv/static/static/js/24.5cfb87799bd882b933dd.js similarity index 87% rename from priv/static/static/js/24.e4b623be1780a14a6168.js rename to priv/static/static/js/24.5cfb87799bd882b933dd.js index eadbce6d5..811c4fa52 100644 --- a/priv/static/static/js/24.e4b623be1780a14a6168.js +++ b/priv/static/static/js/24.5cfb87799bd882b933dd.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{604:function(a){a.exports=JSON.parse('{"chat":{"title":"Messatjariá"},"exporter":{"export":"Exportar","processing":"Tractament, vos demandarem lèu de telecargar lo fichièr"},"features_panel":{"chat":"Chat","gopher":"Gopher","media_proxy":"Servidor mandatari mèdia","scope_options":"Nivèls de confidencialitat","text_limit":"Limita de tèxte","title":"Foncionalitats","who_to_follow":"Qual seguir"},"finder":{"error_fetching_user":"Error pendent la cèrca d’un utilizaire","find_user":"Cercar un utilizaire"},"general":{"apply":"Aplicar","submit":"Mandar","more":"Mai","generic_error":"Una error s’es producha","optional":"opcional","show_more":"Mostrar mai","show_less":"Mostrar mens","cancel":"Anullar"},"image_cropper":{"crop_picture":"Talhar l’imatge","save":"Salvar","save_without_cropping":"Salvar sens talhada","cancel":"Anullar"},"importer":{"submit":"Mandar","success":"Corrèctament importat.","error":"Una error s’es producha pendent l’importacion d’aqueste fichièr."},"login":{"login":"Connexion","description":"Connexion via OAuth","logout":"Desconnexion","password":"Senhal","placeholder":"e.g. lain","register":"Se marcar","username":"Nom d’utilizaire","hint":"Connectatz-vos per participar a la discutida"},"media_modal":{"previous":"Precedent","next":"Seguent"},"nav":{"about":"A prepaus","back":"Tornar","chat":"Chat local","friend_requests":"Demandas de seguiment","mentions":"Notificacions","dms":"Messatges privats","public_tl":"Estatuts locals","timeline":"Flux d’actualitat","twkn":"Lo malhum conegut","user_search":"Cèrca d’utilizaires","search":"Cercar","who_to_follow":"Qual seguir","preferences":"Preferéncias"},"notifications":{"broken_favorite":"Estatut desconegut, sèm a lo cercar...","favorited_you":"a aimat vòstre estatut","followed_you":"vos a seguit","load_older":"Cargar las notificacions mai ancianas","notifications":"Notficacions","read":"Legit !","repeated_you":"a repetit vòstre estatut","no_more_notifications":"Pas mai de notificacions"},"polls":{"add_poll":"Ajustar un sondatge","add_option":"Ajustar d’opcions","option":"Opcion","votes":"vòtes","vote":"Votar","type":"Tipe de sondatge","single_choice":"Causida unica","multiple_choices":"Causida multipla","expiry":"Durada del sondatge","expires_in":"Lo sondatge s’acabarà {0}","expired":"Sondatge acabat {0}","not_enough_options":"I a pas pro d’opcions"},"stickers":{"add_sticker":"Ajustar un pegasolet"},"interactions":{"favs_repeats":"Repeticions e favorits","follows":"Nòus seguidors","load_older":"Cargar d’interaccions anterioras"},"post_status":{"new_status":"Publicar d’estatuts novèls","account_not_locked_warning":"Vòstre compte es pas {0}. Qual que siá pòt vos seguir per veire vòstras publicacions destinadas pas qu’a vòstres seguidors.","account_not_locked_warning_link":"clavat","attachments_sensitive":"Marcar las pèças juntas coma sensiblas","content_type":{"text/plain":"Tèxte brut","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},"content_warning":"Avís de contengut (opcional)","default":"Escrivètz aquí vòstre estatut.","direct_warning_to_all":"Aquesta publicacion serà pas que visibla pels utilizaires mencionats.","direct_warning_to_first_only":"Aquesta publicacion serà pas que visibla pels utilizaires mencionats a la debuta del messatge.","posting":"Mandadís","scope":{"direct":"Dirècte - Publicar pels utilizaires mencionats solament","private":"Seguidors solament - Publicar pels sols seguidors","public":"Public - Publicar pel flux d’actualitat public","unlisted":"Pas listat - Publicar pas pel flux public"}},"registration":{"bio":"Biografia","email":"Adreça de corrièl","fullname":"Nom complèt","password_confirm":"Confirmar lo senhal","registration":"Inscripcion","token":"Geton de convidat","captcha":"CAPTCHA","new_captcha":"Clicatz l’imatge per obténer una nòva captcha","username_placeholder":"e.g. lain","fullname_placeholder":"e.g. Lain Iwakura","bio_placeholder":"e.g.\\nHi, Soi lo Lain\\nSoi afocada d’animes e vivi al Japan. Benlèu que me coneissètz de the Wired.","validations":{"username_required":"pòt pas èsser void","fullname_required":"pòt pas èsser void","email_required":"pòt pas èsser void","password_required":"pòt pas èsser void","password_confirmation_required":"pòt pas èsser void","password_confirmation_match":"deu èsser lo meteis senhal"}},"selectable_list":{"select_all":"O seleccionar tot"},"settings":{"app_name":"Nom de l’aplicacion","attachmentRadius":"Pèças juntas","attachments":"Pèças juntas","avatar":"Avatar","avatarAltRadius":"Avatars (Notificacions)","avatarRadius":"Avatars","background":"Rèire plan","bio":"Biografia","block_export":"Exportar los blocatges","block_export_button":"Exportar los blocatges dins un fichièr csv","block_import":"Impòrt de blocatges","block_import_error":"Error en importar los blocatges","blocks_imported":"Blocatges importats ! Lo tractament tardarà un pauc.","blocks_tab":"Blocatges","btnRadius":"Botons","cBlue":"Blau (Respondre, seguir)","cGreen":"Verd (Repertir)","cOrange":"Irange (Aimar)","cRed":"Roge (Anullar)","change_password":"Cambiar lo senhal","change_password_error":"Una error s’es producha en cambiant lo senhal.","changed_password":"Senhal corrèctament cambiat !","collapse_subject":"Replegar las publicacions amb de subjèctes","composing":"Escritura","confirm_new_password":"Confirmatz lo nòu senhal","current_avatar":"Vòstre avatar actual","current_password":"Senhal actual","current_profile_banner":"Bandièra actuala del perfil","data_import_export_tab":"Importar / Exportar las donadas","default_vis":"Nivèl de visibilitat per defaut","delete_account":"Suprimir lo compte","delete_account_description":"Suprimir vòstre compte e los messatges per sempre.","delete_account_error":"Una error s’es producha en suprimir lo compte. S’aquò ten d’arribar mercés de contactar vòstre administrator d’instància.","delete_account_instructions":"Picatz vòstre senhal dins lo camp tèxte çai-jos per confirmar la supression del compte.","avatar_size_instruction":"La talha minimum recomandada pels imatges d’avatar es 150x150 pixèls.","export_theme":"Enregistrar la preconfiguracion","filtering":"Filtratge","filtering_explanation":"Totes los estatuts amb aqueles mots seràn en silenci, un mot per linha","follow_export":"Exportar los abonaments","follow_export_button":"Exportar vòstres abonaments dins un fichièr csv","follow_import":"Importar los abonaments","follow_import_error":"Error en important los seguidors","follows_imported":"Seguidors importats. Lo tractament pòt trigar una estona.","foreground":"Endavant","general":"General","hide_attachments_in_convo":"Rescondre las pèças juntas dins las conversacions","hide_attachments_in_tl":"Rescondre las pèças juntas","hide_muted_posts":"Rescondre las publicacions del monde rescondut","max_thumbnails":"Nombre maximum de vinhetas per publicacion","hide_isp":"Amagar lo panèl especial instància","preload_images":"Precargar los imatges","use_one_click_nsfw":"Dobrir las pèças juntas NSFW amb un clic","hide_post_stats":"Amagar las estatisticas de publicacion (ex. lo nombre de favorits)","hide_user_stats":"Amagar las estatisticas de l’utilizaire (ex. lo nombre de seguidors)","hide_filtered_statuses":"Amagar los estatuts filtrats","import_followers_from_a_csv_file":"Importar los seguidors d’un fichièr csv","import_theme":"Cargar un tèma","inputRadius":"Camps tèxte","checkboxRadius":"Casas de marcar","instance_default":"(defaut : {value})","instance_default_simple":"(defaut)","interface":"Interfàcia","interfaceLanguage":"Lenga de l’interfàcia","invalid_theme_imported":"Lo fichièr seleccionat es pas un tèma Pleroma valid. Cap de cambiament es estat fach a vòstre tèma.","limited_availability":"Pas disponible per vòstre navigador","links":"Ligams","lock_account_description":"Limitar vòstre compte als seguidors acceptats solament","loop_video":"Bocla vidèo","loop_video_silent_only":"Legir en bocla solament las vidèos sens son (coma los « Gifs » de Mastodon)","mutes_tab":"Agamats","interactions_tab":"Interaccions","play_videos_in_modal":"Legir las vidèos dirèctament dins la visualizaira mèdia","use_contain_fit":"Talhar pas las pèças juntas per las vinhetas","name":"Nom","name_bio":"Nom & Bio","new_password":"Nòu senhal","notification_visibility_follows":"Abonaments","notification_visibility_likes":"Aimar","notification_visibility_mentions":"Mencions","notification_visibility_repeats":"Repeticions","notification_visibility":"Tipes de notificacion de mostrar","no_rich_text_description":"Netejar lo format tèxte de totas las publicacions","no_blocks":"Cap de blocatge","no_mutes":"Cap d’amagat","hide_follows_description":"Mostrar pas qual seguissi","hide_followers_description":"Mostrar pas qual me seguisson","show_admin_badge":"Mostrar lo badge Admin badge al perfil meu","show_moderator_badge":"Mostrar lo badge Moderator al perfil meu","nsfw_clickthrough":"Activar lo clic per mostrar los imatges marcats coma pels adults o sensibles","oauth_tokens":"Listats OAuth","token":"Geton","refresh_token":"Actualizar lo geton","valid_until":"Valid fins a","revoke_token":"Revocar","panelRadius":"Panèls","pause_on_unfocused":"Pausar la difusion quand l’onglet es pas seleccionat","presets":"Pre-enregistrats","profile_background":"Imatge de fons","profile_banner":"Bandièra del perfil","profile_tab":"Perfil","radii_help":"Configurar los caires arredondits de l’interfàcia (en pixèls)","replies_in_timeline":"Responsas del flux","reply_visibility_all":"Mostrar totas las responsas","reply_visibility_following":"Mostrar pas que las responsas que me son destinada a ieu o un utilizaire que seguissi","reply_visibility_self":"Mostrar pas que las responsas que me son destinadas","saving_err":"Error en enregistrant los paramètres","saving_ok":"Paramètres enregistrats","search_user_to_block":"Cercatz qual volètz blocar","search_user_to_mute":"Cercatz qual volètz rescondre","security_tab":"Seguretat","scope_copy":"Copiar lo nivèl de confidencialitat per las responsas (Totjorn aissí pels Messatges Dirèctes)","minimal_scopes_mode":"Minimizar lo nombre d’opcions per publicacion","set_new_avatar":"Definir un nòu avatar","set_new_profile_background":"Definir un nòu fons de perfil","set_new_profile_banner":"Definir una nòva bandièra de perfil","settings":"Paramètres","subject_input_always_show":"Totjorn mostrar lo camp de subjècte","subject_line_behavior":"Copiar lo subjècte per las responsas","subject_line_email":"Coma los corrièls : \\"re: subjècte\\"","subject_line_mastodon":"Coma mastodon : copiar tal coma es","subject_line_noop":"Copiar pas","post_status_content_type":"Publicar lo tipe de contengut dels estatuts","stop_gifs":"Lançar los GIFs al subrevòl","streaming":"Activar lo cargament automatic dels novèls estatus en anar amont","text":"Tèxte","theme":"Tèma","theme_help_v2_1":"Podètz tanben remplaçar la color d’unes compausants en clicant la case, utilizatz lo boton \\"O escafar tot\\" per escafar totes las subrecargadas.","theme_help_v2_2":"Icons underneath some entries are background/text contrast indicators, hover over for detailed info. Please keep in mind that when using transparency contrast indicators show the worst possible case.","theme_help":"Emplegatz los còdis de color hex (#rrggbb) per personalizar vòstre tèma de color.","tooltipRadius":"Astúcias/alèrtas","upload_a_photo":"Enviar una fotografia","user_settings":"Paramètres utilizaire","values":{"false":"non","true":"òc"},"notifications":"Notificacions","notification_mutes":"Per recebre pas mai d’un utilizaire en particular, botatz-lo en silenci.","notification_blocks":"Blocar un utilizaire arrèsta totas las notificacions tan coma quitar de los seguir.","enable_web_push_notifications":"Activar las notificacions web push","style":{"switcher":{"keep_color":"Gardar las colors","keep_shadows":"Gardar las ombras","keep_opacity":"Gardar l’opacitat","keep_roundness":"Gardar la redondetat","keep_fonts":"Gardar las polissas","save_load_hint":"Las opcions « Gardar » permeton de servar las opcions configuradas actualament quand seleccionatz o cargatz un tèma, permeton tanben d’enregistrar aquelas opcions quand exportatz un tèma. Quand totas las casas son pas marcadas, l’exportacion de tèma o enregistrarà tot.","reset":"Restablir","clear_all":"O escafar tot","clear_opacity":"Escafar l’opacitat"},"common":{"color":"Color","opacity":"Opacitat","contrast":{"hint":"Lo coeficient de contraste es de {ratio}. Dòna {level} {context}","level":{"aa":"un nivèl AA minimum recomandat","aaa":"un nivèl AAA recomandat","bad":"pas un nivèl d’accessibilitat recomandat"},"context":{"18pt":"pel tèxte grand (18pt+)","text":"pel tèxte"}}},"common_colors":{"_tab_label":"Comun","main":"Colors comunas","foreground_hint":"Vejatz « Avançat » per mai de paramètres detalhats","rgbo":"Icònas, accents, badges"},"advanced_colors":{"_tab_label":"Avançat","alert":"Rèire plan d’alèrtas","alert_error":"Error","badge":"Rèire plan dels badges","badge_notification":"Notificacion","panel_header":"Bandièra del tablèu de bòrd","top_bar":"Barra amont","borders":"Caires","buttons":"Botons","inputs":"Camps tèxte","faint_text":"Tèxte descolorit"},"radii":{"_tab_label":"Redondetat"},"shadows":{"_tab_label":"Ombra e luminositat","component":"Compausant","override":"Subrecargar","shadow_id":"Ombra #{value}","blur":"Fosc","spread":"Espandiment","inset":"Incrustacion","hint":"Per las ombras podètz tanben utilizar --variable coma valor de color per emplegar una variable CSS3. Notatz que lo paramètre d’opacitat foncionarà pas dins aquel cas.","filter_hint":{"always_drop_shadow":"Avertiment, aquel ombra utiliza totjorn {0} quand lo navigator es compatible.","drop_shadow_syntax":"{0} es pas compatible amb lo paramètre {1} e lo mot clau {2}.","avatar_inset":"Notatz que combinar d’ombras incrustadas e pas incrustadas pòt donar de resultats inesperats amb los avatars transparents.","spread_zero":"L’ombra amb un espandiment de > 0 apareisserà coma reglat a zèro","inset_classic":"L’ombra d’incrustacion utilizarà {0}"},"components":{"panel":"Tablèu","panelHeader":"Bandièra del tablèu","topBar":"Barra amont","avatar":"Utilizar l’avatar (vista perfil)","avatarStatus":"Avatar de l’utilizaire (afichatge publicacion)","popup":"Fenèstras sorgissentas e astúcias","button":"Boton","buttonHover":"Boton (en passar la mirga)","buttonPressed":"Boton (en quichar)","buttonPressedHover":"Boton (en quichar e passar)","input":"Camp tèxte"}},"fonts":{"_tab_label":"Polissas","help":"Selecionatz la polissa d’utilizar pels elements de l’UI. Per « Personalizada » vos cal picar lo nom exacte tal coma apareis sul sistèma.","components":{"interface":"Interfàcia","input":"Camps tèxte","post":"Tèxte de publicacion","postCode":"Tèxte Monospaced dins las publicacion (tèxte formatat)"},"family":"Nom de la polissa","size":"Talha (en px)","weight":"Largor (gras)","custom":"Personalizada"},"preview":{"header":"Apercebut","content":"Contengut","error":"Error d’exemple","button":"Boton","text":"A tròç de mai de {0} e {1}","mono":"contengut","input":"arribada al país.","faint_link":"manual d’ajuda","fine_print":"Legissètz nòstre {0} per legir pas res d’util !","header_faint":"Va plan","checkbox":"Ai legit los tèrmes e condicions d’utilizacion","link":"un pichon ligam simpatic"}},"version":{"title":"Version","backend_version":"Version Backend","frontend_version":"Version Frontend"}},"time":{"day":"{0} jorn","days":"{0} jorns","day_short":"{0} jorn","days_short":"{0} jorns","hour":"{0} ora","hours":"{0} oras","hour_short":"{0}h","hours_short":"{0}h","in_future":"d’aquí {0}","in_past":"fa {0}","minute":"{0} minuta","minutes":"{0} minutas","minute_short":"{0}min","minutes_short":"{0}min","month":"{0} mes","months":"{0} meses","month_short":"{0} mes","months_short":"{0} meses","now":"ara meteis","now_short":"ara meteis","second":"{0} segonda","seconds":"{0} segondas","second_short":"{0}s","seconds_short":"{0}s","week":"{0} setmana.","weeks":"{0} setmanas.","week_short":"{0} setm.","weeks_short":"{0} setm.","year":"{0} an","years":"{0} ans","year_short":"{0} an","years_short":"{0} ans"},"timeline":{"collapse":"Tampar","conversation":"Conversacion","error_fetching":"Error en cercant de mesas a jorn","load_older":"Ne veire mai","no_retweet_hint":"Las publicacions marcadas pels seguidors solament o dirèctas se pòdon pas repetir","repeated":"repetit","show_new":"Ne veire mai","up_to_date":"A jorn","no_more_statuses":"Pas mai d’estatuts","no_statuses":"Cap d’estatuts"},"status":{"favorites":"Li a agradat","repeats":"A repetit","reply_to":"Respond a","replies_list":"Responsas :"},"user_card":{"approve":"Validar","block":"Blocar","blocked":"Blocat !","deny":"Refusar","favorites":"Favorits","follow":"Seguir","follow_sent":"Demanda enviada !","follow_progress":"Demanda…","follow_again":"Tornar enviar la demanda ?","follow_unfollow":"Quitar de seguir","followees":"Abonaments","followers":"Seguidors","following":"Seguit !","follows_you":"Vos sèc !","its_you":"Sètz vos !","media":"Mèdia","mute":"Amagar","muted":"Amagat","per_day":"per jorn","remote_follow":"Seguir a distància","statuses":"Estatuts","subscribe":"S’abonar","unsubscribe":"Se desabonar","unblock":"Desblocar","unblock_progress":"Desblocatge...","block_progress":"Blocatge...","unmute":"Tornar mostrar","unmute_progress":"Afichatge...","mute_progress":"A amagar...","admin_menu":{"moderation":"Moderacion","grant_admin":"Passar Admin","revoke_admin":"Revocar Admin","grant_moderator":"Passar Moderator","revoke_moderator":"Revocar Moderator","activate_account":"Activar lo compte","deactivate_account":"Desactivar lo compte","delete_account":"Suprimir lo compte","force_nsfw":"Marcar totas las publicacions coma sensiblas","strip_media":"Tirar los mèdias de las publicacions","force_unlisted":"Forçar las publicacions en pas-listadas","sandbox":"Forçar las publicacions en seguidors solament","disable_remote_subscription":"Desactivar lo seguiment d’utilizaire d’instàncias alonhadas","disable_any_subscription":"Desactivar tot seguiment","quarantine":"Defendre la federacion de las publicacions de l’utilizaire","delete_user":"Suprimir l’utilizaire","delete_user_confirmation":"Volètz vertadièrament far aquò ? Aquesta accion se pòt pas anullar."}},"user_profile":{"timeline_title":"Flux utilizaire","profile_does_not_exist":"Aqueste perfil existís pas.","profile_loading_error":"Una error s’es producha en cargant aqueste perfil."},"who_to_follow":{"more":"Mai","who_to_follow":"Qual seguir"},"tool_tip":{"media_upload":"Enviar un mèdia","repeat":"Repetir","reply":"Respondre","favorite":"aimar","user_settings":"Paramètres utilizaire"},"upload":{"error":{"base":"Mandadís fracassat.","file_too_big":"Fichièr tròp grand [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","default":"Tornatz ensajar mai tard"},"file_size_units":{"B":"o","KiB":"Kio","MiB":"Mio","GiB":"Gio","TiB":"Tio"}},"search":{"people":"Gent","hashtags":"Etiquetas","person_talking":"{count} persona ne parla","people_talking":"{count} personas ne parlan","no_results":"Cap de resultats"}}')}}]); -//# sourceMappingURL=24.e4b623be1780a14a6168.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[24],{617:function(a){a.exports=JSON.parse('{"chat":{"title":"Messatjariá"},"exporter":{"export":"Exportar","processing":"Tractament, vos demandarem lèu de telecargar lo fichièr"},"features_panel":{"chat":"Chat","gopher":"Gopher","media_proxy":"Servidor mandatari mèdia","scope_options":"Nivèls de confidencialitat","text_limit":"Limita de tèxte","title":"Foncionalitats","who_to_follow":"Qual seguir"},"finder":{"error_fetching_user":"Error pendent la cèrca d’un utilizaire","find_user":"Cercar un utilizaire"},"general":{"apply":"Aplicar","submit":"Mandar","more":"Mai","generic_error":"Una error s’es producha","optional":"opcional","show_more":"Mostrar mai","show_less":"Mostrar mens","cancel":"Anullar"},"image_cropper":{"crop_picture":"Talhar l’imatge","save":"Salvar","save_without_cropping":"Salvar sens talhada","cancel":"Anullar"},"importer":{"submit":"Mandar","success":"Corrèctament importat.","error":"Una error s’es producha pendent l’importacion d’aqueste fichièr."},"login":{"login":"Connexion","description":"Connexion via OAuth","logout":"Desconnexion","password":"Senhal","placeholder":"e.g. lain","register":"Se marcar","username":"Nom d’utilizaire","hint":"Connectatz-vos per participar a la discutida"},"media_modal":{"previous":"Precedent","next":"Seguent"},"nav":{"about":"A prepaus","back":"Tornar","chat":"Chat local","friend_requests":"Demandas de seguiment","mentions":"Notificacions","dms":"Messatges privats","public_tl":"Estatuts locals","timeline":"Flux d’actualitat","twkn":"Lo malhum conegut","user_search":"Cèrca d’utilizaires","search":"Cercar","who_to_follow":"Qual seguir","preferences":"Preferéncias"},"notifications":{"broken_favorite":"Estatut desconegut, sèm a lo cercar...","favorited_you":"a aimat vòstre estatut","followed_you":"vos a seguit","load_older":"Cargar las notificacions mai ancianas","notifications":"Notficacions","read":"Legit !","repeated_you":"a repetit vòstre estatut","no_more_notifications":"Pas mai de notificacions"},"polls":{"add_poll":"Ajustar un sondatge","add_option":"Ajustar d’opcions","option":"Opcion","votes":"vòtes","vote":"Votar","type":"Tipe de sondatge","single_choice":"Causida unica","multiple_choices":"Causida multipla","expiry":"Durada del sondatge","expires_in":"Lo sondatge s’acabarà {0}","expired":"Sondatge acabat {0}","not_enough_options":"I a pas pro d’opcions"},"stickers":{"add_sticker":"Ajustar un pegasolet"},"interactions":{"favs_repeats":"Repeticions e favorits","follows":"Nòus seguidors","load_older":"Cargar d’interaccions anterioras"},"post_status":{"new_status":"Publicar d’estatuts novèls","account_not_locked_warning":"Vòstre compte es pas {0}. Qual que siá pòt vos seguir per veire vòstras publicacions destinadas pas qu’a vòstres seguidors.","account_not_locked_warning_link":"clavat","attachments_sensitive":"Marcar las pèças juntas coma sensiblas","content_type":{"text/plain":"Tèxte brut","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},"content_warning":"Avís de contengut (opcional)","default":"Escrivètz aquí vòstre estatut.","direct_warning_to_all":"Aquesta publicacion serà pas que visibla pels utilizaires mencionats.","direct_warning_to_first_only":"Aquesta publicacion serà pas que visibla pels utilizaires mencionats a la debuta del messatge.","posting":"Mandadís","scope":{"direct":"Dirècte - Publicar pels utilizaires mencionats solament","private":"Seguidors solament - Publicar pels sols seguidors","public":"Public - Publicar pel flux d’actualitat public","unlisted":"Pas listat - Publicar pas pel flux public"}},"registration":{"bio":"Biografia","email":"Adreça de corrièl","fullname":"Nom complèt","password_confirm":"Confirmar lo senhal","registration":"Inscripcion","token":"Geton de convidat","captcha":"CAPTCHA","new_captcha":"Clicatz l’imatge per obténer una nòva captcha","username_placeholder":"e.g. lain","fullname_placeholder":"e.g. Lain Iwakura","bio_placeholder":"e.g.\\nHi, Soi lo Lain\\nSoi afocada d’animes e vivi al Japan. Benlèu que me coneissètz de the Wired.","validations":{"username_required":"pòt pas èsser void","fullname_required":"pòt pas èsser void","email_required":"pòt pas èsser void","password_required":"pòt pas èsser void","password_confirmation_required":"pòt pas èsser void","password_confirmation_match":"deu èsser lo meteis senhal"}},"selectable_list":{"select_all":"O seleccionar tot"},"settings":{"app_name":"Nom de l’aplicacion","attachmentRadius":"Pèças juntas","attachments":"Pèças juntas","avatar":"Avatar","avatarAltRadius":"Avatars (Notificacions)","avatarRadius":"Avatars","background":"Rèire plan","bio":"Biografia","block_export":"Exportar los blocatges","block_export_button":"Exportar los blocatges dins un fichièr csv","block_import":"Impòrt de blocatges","block_import_error":"Error en importar los blocatges","blocks_imported":"Blocatges importats ! Lo tractament tardarà un pauc.","blocks_tab":"Blocatges","btnRadius":"Botons","cBlue":"Blau (Respondre, seguir)","cGreen":"Verd (Repertir)","cOrange":"Irange (Aimar)","cRed":"Roge (Anullar)","change_password":"Cambiar lo senhal","change_password_error":"Una error s’es producha en cambiant lo senhal.","changed_password":"Senhal corrèctament cambiat !","collapse_subject":"Replegar las publicacions amb de subjèctes","composing":"Escritura","confirm_new_password":"Confirmatz lo nòu senhal","current_avatar":"Vòstre avatar actual","current_password":"Senhal actual","current_profile_banner":"Bandièra actuala del perfil","data_import_export_tab":"Importar / Exportar las donadas","default_vis":"Nivèl de visibilitat per defaut","delete_account":"Suprimir lo compte","delete_account_description":"Suprimir vòstre compte e los messatges per sempre.","delete_account_error":"Una error s’es producha en suprimir lo compte. S’aquò ten d’arribar mercés de contactar vòstre administrator d’instància.","delete_account_instructions":"Picatz vòstre senhal dins lo camp tèxte çai-jos per confirmar la supression del compte.","avatar_size_instruction":"La talha minimum recomandada pels imatges d’avatar es 150x150 pixèls.","export_theme":"Enregistrar la preconfiguracion","filtering":"Filtratge","filtering_explanation":"Totes los estatuts amb aqueles mots seràn en silenci, un mot per linha","follow_export":"Exportar los abonaments","follow_export_button":"Exportar vòstres abonaments dins un fichièr csv","follow_import":"Importar los abonaments","follow_import_error":"Error en important los seguidors","follows_imported":"Seguidors importats. Lo tractament pòt trigar una estona.","foreground":"Endavant","general":"General","hide_attachments_in_convo":"Rescondre las pèças juntas dins las conversacions","hide_attachments_in_tl":"Rescondre las pèças juntas","hide_muted_posts":"Rescondre las publicacions del monde rescondut","max_thumbnails":"Nombre maximum de vinhetas per publicacion","hide_isp":"Amagar lo panèl especial instància","preload_images":"Precargar los imatges","use_one_click_nsfw":"Dobrir las pèças juntas NSFW amb un clic","hide_post_stats":"Amagar las estatisticas de publicacion (ex. lo nombre de favorits)","hide_user_stats":"Amagar las estatisticas de l’utilizaire (ex. lo nombre de seguidors)","hide_filtered_statuses":"Amagar los estatuts filtrats","import_followers_from_a_csv_file":"Importar los seguidors d’un fichièr csv","import_theme":"Cargar un tèma","inputRadius":"Camps tèxte","checkboxRadius":"Casas de marcar","instance_default":"(defaut : {value})","instance_default_simple":"(defaut)","interface":"Interfàcia","interfaceLanguage":"Lenga de l’interfàcia","invalid_theme_imported":"Lo fichièr seleccionat es pas un tèma Pleroma valid. Cap de cambiament es estat fach a vòstre tèma.","limited_availability":"Pas disponible per vòstre navigador","links":"Ligams","lock_account_description":"Limitar vòstre compte als seguidors acceptats solament","loop_video":"Bocla vidèo","loop_video_silent_only":"Legir en bocla solament las vidèos sens son (coma los « Gifs » de Mastodon)","mutes_tab":"Agamats","interactions_tab":"Interaccions","play_videos_in_modal":"Legir las vidèos dirèctament dins la visualizaira mèdia","use_contain_fit":"Talhar pas las pèças juntas per las vinhetas","name":"Nom","name_bio":"Nom & Bio","new_password":"Nòu senhal","notification_visibility_follows":"Abonaments","notification_visibility_likes":"Aimar","notification_visibility_mentions":"Mencions","notification_visibility_repeats":"Repeticions","notification_visibility":"Tipes de notificacion de mostrar","no_rich_text_description":"Netejar lo format tèxte de totas las publicacions","no_blocks":"Cap de blocatge","no_mutes":"Cap d’amagat","hide_follows_description":"Mostrar pas qual seguissi","hide_followers_description":"Mostrar pas qual me seguisson","show_admin_badge":"Mostrar lo badge Admin badge al perfil meu","show_moderator_badge":"Mostrar lo badge Moderator al perfil meu","nsfw_clickthrough":"Activar lo clic per mostrar los imatges marcats coma pels adults o sensibles","oauth_tokens":"Listats OAuth","token":"Geton","refresh_token":"Actualizar lo geton","valid_until":"Valid fins a","revoke_token":"Revocar","panelRadius":"Panèls","pause_on_unfocused":"Pausar la difusion quand l’onglet es pas seleccionat","presets":"Pre-enregistrats","profile_background":"Imatge de fons","profile_banner":"Bandièra del perfil","profile_tab":"Perfil","radii_help":"Configurar los caires arredondits de l’interfàcia (en pixèls)","replies_in_timeline":"Responsas del flux","reply_visibility_all":"Mostrar totas las responsas","reply_visibility_following":"Mostrar pas que las responsas que me son destinada a ieu o un utilizaire que seguissi","reply_visibility_self":"Mostrar pas que las responsas que me son destinadas","saving_err":"Error en enregistrant los paramètres","saving_ok":"Paramètres enregistrats","search_user_to_block":"Cercatz qual volètz blocar","search_user_to_mute":"Cercatz qual volètz rescondre","security_tab":"Seguretat","scope_copy":"Copiar lo nivèl de confidencialitat per las responsas (Totjorn aissí pels Messatges Dirèctes)","minimal_scopes_mode":"Minimizar lo nombre d’opcions per publicacion","set_new_avatar":"Definir un nòu avatar","set_new_profile_background":"Definir un nòu fons de perfil","set_new_profile_banner":"Definir una nòva bandièra de perfil","settings":"Paramètres","subject_input_always_show":"Totjorn mostrar lo camp de subjècte","subject_line_behavior":"Copiar lo subjècte per las responsas","subject_line_email":"Coma los corrièls : \\"re: subjècte\\"","subject_line_mastodon":"Coma mastodon : copiar tal coma es","subject_line_noop":"Copiar pas","post_status_content_type":"Publicar lo tipe de contengut dels estatuts","stop_gifs":"Lançar los GIFs al subrevòl","streaming":"Activar lo cargament automatic dels novèls estatus en anar amont","text":"Tèxte","theme":"Tèma","theme_help_v2_1":"Podètz tanben remplaçar la color d’unes compausants en clicant la case, utilizatz lo boton \\"O escafar tot\\" per escafar totes las subrecargadas.","theme_help_v2_2":"Icons underneath some entries are background/text contrast indicators, hover over for detailed info. Please keep in mind that when using transparency contrast indicators show the worst possible case.","theme_help":"Emplegatz los còdis de color hex (#rrggbb) per personalizar vòstre tèma de color.","tooltipRadius":"Astúcias/alèrtas","upload_a_photo":"Enviar una fotografia","user_settings":"Paramètres utilizaire","values":{"false":"non","true":"òc"},"notifications":"Notificacions","notification_mutes":"Per recebre pas mai d’un utilizaire en particular, botatz-lo en silenci.","notification_blocks":"Blocar un utilizaire arrèsta totas las notificacions tan coma quitar de los seguir.","enable_web_push_notifications":"Activar las notificacions web push","style":{"switcher":{"keep_color":"Gardar las colors","keep_shadows":"Gardar las ombras","keep_opacity":"Gardar l’opacitat","keep_roundness":"Gardar la redondetat","keep_fonts":"Gardar las polissas","save_load_hint":"Las opcions « Gardar » permeton de servar las opcions configuradas actualament quand seleccionatz o cargatz un tèma, permeton tanben d’enregistrar aquelas opcions quand exportatz un tèma. Quand totas las casas son pas marcadas, l’exportacion de tèma o enregistrarà tot.","reset":"Restablir","clear_all":"O escafar tot","clear_opacity":"Escafar l’opacitat"},"common":{"color":"Color","opacity":"Opacitat","contrast":{"hint":"Lo coeficient de contraste es de {ratio}. Dòna {level} {context}","level":{"aa":"un nivèl AA minimum recomandat","aaa":"un nivèl AAA recomandat","bad":"pas un nivèl d’accessibilitat recomandat"},"context":{"18pt":"pel tèxte grand (18pt+)","text":"pel tèxte"}}},"common_colors":{"_tab_label":"Comun","main":"Colors comunas","foreground_hint":"Vejatz « Avançat » per mai de paramètres detalhats","rgbo":"Icònas, accents, badges"},"advanced_colors":{"_tab_label":"Avançat","alert":"Rèire plan d’alèrtas","alert_error":"Error","badge":"Rèire plan dels badges","badge_notification":"Notificacion","panel_header":"Bandièra del tablèu de bòrd","top_bar":"Barra amont","borders":"Caires","buttons":"Botons","inputs":"Camps tèxte","faint_text":"Tèxte descolorit"},"radii":{"_tab_label":"Redondetat"},"shadows":{"_tab_label":"Ombra e luminositat","component":"Compausant","override":"Subrecargar","shadow_id":"Ombra #{value}","blur":"Fosc","spread":"Espandiment","inset":"Incrustacion","hint":"Per las ombras podètz tanben utilizar --variable coma valor de color per emplegar una variable CSS3. Notatz que lo paramètre d’opacitat foncionarà pas dins aquel cas.","filter_hint":{"always_drop_shadow":"Avertiment, aquel ombra utiliza totjorn {0} quand lo navigator es compatible.","drop_shadow_syntax":"{0} es pas compatible amb lo paramètre {1} e lo mot clau {2}.","avatar_inset":"Notatz que combinar d’ombras incrustadas e pas incrustadas pòt donar de resultats inesperats amb los avatars transparents.","spread_zero":"L’ombra amb un espandiment de > 0 apareisserà coma reglat a zèro","inset_classic":"L’ombra d’incrustacion utilizarà {0}"},"components":{"panel":"Tablèu","panelHeader":"Bandièra del tablèu","topBar":"Barra amont","avatar":"Utilizar l’avatar (vista perfil)","avatarStatus":"Avatar de l’utilizaire (afichatge publicacion)","popup":"Fenèstras sorgissentas e astúcias","button":"Boton","buttonHover":"Boton (en passar la mirga)","buttonPressed":"Boton (en quichar)","buttonPressedHover":"Boton (en quichar e passar)","input":"Camp tèxte"}},"fonts":{"_tab_label":"Polissas","help":"Selecionatz la polissa d’utilizar pels elements de l’UI. Per « Personalizada » vos cal picar lo nom exacte tal coma apareis sul sistèma.","components":{"interface":"Interfàcia","input":"Camps tèxte","post":"Tèxte de publicacion","postCode":"Tèxte Monospaced dins las publicacion (tèxte formatat)"},"family":"Nom de la polissa","size":"Talha (en px)","weight":"Largor (gras)","custom":"Personalizada"},"preview":{"header":"Apercebut","content":"Contengut","error":"Error d’exemple","button":"Boton","text":"A tròç de mai de {0} e {1}","mono":"contengut","input":"arribada al país.","faint_link":"manual d’ajuda","fine_print":"Legissètz nòstre {0} per legir pas res d’util !","header_faint":"Va plan","checkbox":"Ai legit los tèrmes e condicions d’utilizacion","link":"un pichon ligam simpatic"}},"version":{"title":"Version","backend_version":"Version Backend","frontend_version":"Version Frontend"}},"time":{"day":"{0} jorn","days":"{0} jorns","day_short":"{0} jorn","days_short":"{0} jorns","hour":"{0} ora","hours":"{0} oras","hour_short":"{0}h","hours_short":"{0}h","in_future":"d’aquí {0}","in_past":"fa {0}","minute":"{0} minuta","minutes":"{0} minutas","minute_short":"{0}min","minutes_short":"{0}min","month":"{0} mes","months":"{0} meses","month_short":"{0} mes","months_short":"{0} meses","now":"ara meteis","now_short":"ara meteis","second":"{0} segonda","seconds":"{0} segondas","second_short":"{0}s","seconds_short":"{0}s","week":"{0} setmana.","weeks":"{0} setmanas.","week_short":"{0} setm.","weeks_short":"{0} setm.","year":"{0} an","years":"{0} ans","year_short":"{0} an","years_short":"{0} ans"},"timeline":{"collapse":"Tampar","conversation":"Conversacion","error_fetching":"Error en cercant de mesas a jorn","load_older":"Ne veire mai","no_retweet_hint":"Las publicacions marcadas pels seguidors solament o dirèctas se pòdon pas repetir","repeated":"repetit","show_new":"Ne veire mai","up_to_date":"A jorn","no_more_statuses":"Pas mai d’estatuts","no_statuses":"Cap d’estatuts"},"status":{"favorites":"Li a agradat","repeats":"A repetit","reply_to":"Respond a","replies_list":"Responsas :"},"user_card":{"approve":"Validar","block":"Blocar","blocked":"Blocat !","deny":"Refusar","favorites":"Favorits","follow":"Seguir","follow_sent":"Demanda enviada !","follow_progress":"Demanda…","follow_unfollow":"Quitar de seguir","followees":"Abonaments","followers":"Seguidors","following":"Seguit !","follows_you":"Vos sèc !","its_you":"Sètz vos !","media":"Mèdia","mute":"Amagar","muted":"Amagat","per_day":"per jorn","remote_follow":"Seguir a distància","statuses":"Estatuts","subscribe":"S’abonar","unsubscribe":"Se desabonar","unblock":"Desblocar","unblock_progress":"Desblocatge...","block_progress":"Blocatge...","unmute":"Tornar mostrar","unmute_progress":"Afichatge...","mute_progress":"A amagar...","admin_menu":{"moderation":"Moderacion","grant_admin":"Passar Admin","revoke_admin":"Revocar Admin","grant_moderator":"Passar Moderator","revoke_moderator":"Revocar Moderator","activate_account":"Activar lo compte","deactivate_account":"Desactivar lo compte","delete_account":"Suprimir lo compte","force_nsfw":"Marcar totas las publicacions coma sensiblas","strip_media":"Tirar los mèdias de las publicacions","force_unlisted":"Forçar las publicacions en pas-listadas","sandbox":"Forçar las publicacions en seguidors solament","disable_remote_subscription":"Desactivar lo seguiment d’utilizaire d’instàncias alonhadas","disable_any_subscription":"Desactivar tot seguiment","quarantine":"Defendre la federacion de las publicacions de l’utilizaire","delete_user":"Suprimir l’utilizaire","delete_user_confirmation":"Volètz vertadièrament far aquò ? Aquesta accion se pòt pas anullar."}},"user_profile":{"timeline_title":"Flux utilizaire","profile_does_not_exist":"Aqueste perfil existís pas.","profile_loading_error":"Una error s’es producha en cargant aqueste perfil."},"who_to_follow":{"more":"Mai","who_to_follow":"Qual seguir"},"tool_tip":{"media_upload":"Enviar un mèdia","repeat":"Repetir","reply":"Respondre","favorite":"aimar","user_settings":"Paramètres utilizaire"},"upload":{"error":{"base":"Mandadís fracassat.","file_too_big":"Fichièr tròp grand [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","default":"Tornatz ensajar mai tard"},"file_size_units":{"B":"o","KiB":"Kio","MiB":"Mio","GiB":"Gio","TiB":"Tio"}},"search":{"people":"Gent","hashtags":"Etiquetas","person_talking":"{count} persona ne parla","people_talking":"{count} personas ne parlan","no_results":"Cap de resultats"}}')}}]); +//# sourceMappingURL=24.5cfb87799bd882b933dd.js.map \ No newline at end of file diff --git a/priv/static/static/js/24.5cfb87799bd882b933dd.js.map b/priv/static/static/js/24.5cfb87799bd882b933dd.js.map new file mode 100644 index 000000000..c03306f8a --- /dev/null +++ b/priv/static/static/js/24.5cfb87799bd882b933dd.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/24.5cfb87799bd882b933dd.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/24.e4b623be1780a14a6168.js.map b/priv/static/static/js/24.e4b623be1780a14a6168.js.map deleted file mode 100644 index 5a1291203..000000000 --- a/priv/static/static/js/24.e4b623be1780a14a6168.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/24.e4b623be1780a14a6168.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/25.34eeae0070f7f1eb6843.js b/priv/static/static/js/25.34eeae0070f7f1eb6843.js deleted file mode 100644 index 92130ae8e..000000000 --- a/priv/static/static/js/25.34eeae0070f7f1eb6843.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{605:function(e){e.exports=JSON.parse('{"about":{"mrf":{"federation":"Federacja","keyword":{"keyword_policies":"Zasady słów kluczowych","ftl_removal":"Usunięcie z \\"Całej znanej sieci\\"","reject":"Odrzucanie","replace":"Zastąpienie","is_replaced_by":"→"},"mrf_policies":"Włączone zasady MRF","mrf_policies_desc":"Zasady MRF zmieniają zachowanie federowania instancji. Następujące zasady są włączone:","simple":{"simple_policies":"Zasady specyficzne dla instancji","accept":"Akceptowanie","accept_desc":"Ta instancja akceptuje tylko posty z wymienionych instancji:","reject":"Odrzucanie","reject_desc":"Ta instancja odrzuca posty z wymienionych instancji:","quarantine":"Kwarantanna","quarantine_desc":"Ta instancja wysyła tylko publiczne posty do wymienionych instancji:","ftl_removal":"Usunięcie z \\"Całej znanej sieci\\"","ftl_removal_desc":"Ta instancja usuwa wymienionych instancje z \\"Całej znanej sieci\\":","media_removal":"Usuwanie multimediów","media_removal_desc":"Ta instancja usuwa multimedia z postów od wymienionych instancji:","media_nsfw":"Multimedia ustawione jako wrażliwe","media_nsfw_desc":"Ta instancja wymusza, by multimedia z wymienionych instancji były ustawione jako wrażliwe:"}},"staff":"Administracja"},"chat":{"title":"Czat"},"domain_mute_card":{"mute":"Wycisz","mute_progress":"Wyciszam…","unmute":"Odcisz","unmute_progress":"Odciszam…"},"exporter":{"export":"Eksportuj","processing":"Przetwarzam, za chwilę zostaniesz zapytany(-na) o ściągnięcie pliku"},"features_panel":{"chat":"Czat","gopher":"Gopher","media_proxy":"Proxy mediów","scope_options":"Ustawienia zakresu","text_limit":"Limit tekstu","title":"Funkcje","who_to_follow":"Propozycje obserwacji","pleroma_chat_messages":"Czat Pleromy","upload_limit":"Limit wysyłania"},"finder":{"error_fetching_user":"Błąd przy pobieraniu profilu","find_user":"Znajdź użytkownika"},"general":{"apply":"Zastosuj","submit":"Wyślij","more":"Więcej","generic_error":"Wystąpił błąd","optional":"nieobowiązkowe","show_more":"Pokaż więcej","show_less":"Pokaż mniej","dismiss":"Odrzuć","cancel":"Anuluj","disable":"Wyłącz","enable":"Włącz","confirm":"Potwierdź","verify":"Zweryfikuj","close":"Zamknij","loading":"Ładowanie…","retry":"Spróbuj ponownie","peek":"Spójrz","error_retry":"Spróbuj ponownie"},"image_cropper":{"crop_picture":"Przytnij obrazek","save":"Zapisz","save_without_cropping":"Zapisz bez przycinania","cancel":"Anuluj"},"importer":{"submit":"Wyślij","success":"Zaimportowano pomyślnie.","error":"Wystąpił błąd podczas importowania pliku."},"login":{"login":"Zaloguj","description":"Zaloguj używając OAuth","logout":"Wyloguj","password":"Hasło","placeholder":"n.p. lain","register":"Zarejestruj","username":"Użytkownik","hint":"Zaloguj się, aby dołączyć do dyskusji","authentication_code":"Kod weryfikacyjny","enter_recovery_code":"Wprowadź kod zapasowy","enter_two_factor_code":"Wprowadź kod weryfikacyjny","recovery_code":"Kod zapasowy","heading":{"totp":"Weryfikacja dwuetapowa","recovery":"Zapasowa weryfikacja dwuetapowa"}},"media_modal":{"previous":"Poprzednie","next":"Następne"},"nav":{"about":"O nas","administration":"Administracja","back":"Wróć","chat":"Lokalny czat","friend_requests":"Prośby o możliwość obserwacji","mentions":"Wzmianki","interactions":"Interakcje","dms":"Wiadomości prywatne","public_tl":"Publiczna oś czasu","timeline":"Oś czasu","twkn":"Znana sieć","user_search":"Wyszukiwanie użytkowników","search":"Wyszukiwanie","who_to_follow":"Sugestie obserwacji","preferences":"Preferencje","bookmarks":"Zakładki","chats":"Czaty","timelines":"Osie czasu"},"notifications":{"broken_favorite":"Nieznany status, szukam go…","favorited_you":"dodał(-a) twój status do ulubionych","followed_you":"obserwuje cię","load_older":"Załaduj starsze powiadomienia","notifications":"Powiadomienia","read":"Przeczytane!","repeated_you":"powtórzył(-a) twój status","no_more_notifications":"Nie masz więcej powiadomień","migrated_to":"wyemigrował do","reacted_with":"zareagował z {0}","follow_request":"chce ciebie obserwować","error":"Błąd pobierania powiadomień: {0}"},"polls":{"add_poll":"Dodaj ankietę","add_option":"Dodaj opcję","option":"Opcja","votes":"głosów","vote":"Głosuj","type":"Typ ankiety","single_choice":"jednokrotnego wyboru","multiple_choices":"wielokrotnego wyboru","expiry":"Czas trwania ankiety","expires_in":"Ankieta kończy się za {0}","expired":"Ankieta skończyła się {0} temu","not_enough_options":"Zbyt mało unikalnych opcji w ankiecie"},"emoji":{"stickers":"Naklejki","emoji":"Emoji","keep_open":"Zostaw selektor otwarty","search_emoji":"Wyszukaj emoji","add_emoji":"Wstaw emoji","custom":"Niestandardowe emoji","unicode":"Emoji unicode","load_all_hint":"Załadowano pierwsze {saneAmount} emoji, Załadowanie wszystkich emoji może spowodować problemy z wydajnością.","load_all":"Ładuję wszystkie {emojiAmount} emoji"},"interactions":{"favs_repeats":"Powtórzenia i ulubione","follows":"Nowi obserwujący","moves":"Użytkownik migruje","load_older":"Załaduj starsze interakcje"},"post_status":{"new_status":"Dodaj nowy status","account_not_locked_warning":"Twoje konto nie jest {0}. Każdy może cię zaobserwować aby zobaczyć wpisy tylko dla obserwujących.","account_not_locked_warning_link":"zablokowane","attachments_sensitive":"Oznacz załączniki jako wrażliwe","content_type":{"text/plain":"Czysty tekst","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},"content_warning":"Temat (nieobowiązkowy)","default":"Właśnie wróciłem z kościoła","direct_warning_to_all":"Ten wpis zobaczą wszystkie osoby, o których wspomniałeś(-aś).","direct_warning_to_first_only":"Ten wpis zobaczą tylko te osoby, o których wspomniałeś(-aś) na początku wiadomości.","posting":"Wysyłanie","scope_notice":{"public":"Ten post będzie widoczny dla każdego","private":"Ten post będzie widoczny tylko dla twoich obserwujących","unlisted":"Ten post nie będzie widoczny na publicznej osi czasu i całej znanej sieci"},"scope":{"direct":"Bezpośredni – Tylko dla wspomnianych użytkowników","private":"Tylko dla obserwujących – Umieść dla osób, które cię obserwują","public":"Publiczny – Umieść na publicznych osiach czasu","unlisted":"Niewidoczny – Nie umieszczaj na publicznych osiach czasu"},"preview_empty":"Pusty","preview":"Podgląd","empty_status_error":"Nie można wysłać pustego wpisu bez plików","media_description_error":"Nie udało się zaktualizować mediów, spróbuj ponownie","media_description":"Opis mediów"},"registration":{"bio":"Bio","email":"E-mail","fullname":"Wyświetlana nazwa profilu","password_confirm":"Potwierdzenie hasła","registration":"Rejestracja","token":"Token zaproszenia","captcha":"CAPTCHA","new_captcha":"Naciśnij na obrazek, aby dostać nowy kod captcha","username_placeholder":"np. lain","fullname_placeholder":"np. Lain Iwakura","bio_placeholder":"e.g.\\nCześć, jestem Lain.\\nJestem dziewczynką z anime żyjącą na peryferiach Japonii. Możesz znać mnie z Wired.","validations":{"username_required":"nie może być pusta","fullname_required":"nie może być pusta","email_required":"nie może być pusty","password_required":"nie może być puste","password_confirmation_required":"nie może być puste","password_confirmation_match":"musi być takie jak hasło"}},"remote_user_resolver":{"remote_user_resolver":"Wyszukiwarka użytkowników nietutejszych","searching_for":"Szukam","error":"Nie znaleziono."},"selectable_list":{"select_all":"Zaznacz wszystko"},"settings":{"app_name":"Nazwa aplikacji","security":"Bezpieczeństwo","enter_current_password_to_confirm":"Wprowadź obecne hasło, by potwierdzić twoją tożsamość","mfa":{"otp":"OTP","setup_otp":"Ustaw OTP","wait_pre_setup_otp":"początkowe ustawianie OTP","confirm_and_enable":"Potwierdź i włącz OTP","title":"Weryfikacja dwuetapowa","generate_new_recovery_codes":"Wygeneruj nowe kody zapasowe","warning_of_generate_new_codes":"Po tym gdy wygenerujesz nowe kody zapasowe, stare przestaną działać.","recovery_codes":"Kody zapasowe.","waiting_a_recovery_codes":"Otrzymuję kody zapasowe…","recovery_codes_warning":"Spisz kody na kartce papieru, albo zapisz je w bezpiecznym miejscu - inaczej nie zobaczysz ich już nigdy. Jeśli stracisz dostęp do twojej aplikacji 2FA i kodów zapasowych, nie będziesz miał(-a) dostępu do swojego konta.","authentication_methods":"Metody weryfikacji","scan":{"title":"Skanuj","desc":"Zeskanuj ten kod QR używając twojej aplikacji 2FA albo wpisz ten klucz:","secret_code":"Klucz"},"verify":{"desc":"By włączyć weryfikację dwuetapową, wpisz kod z twojej aplikacji 2FA:"}},"allow_following_move":"Zezwalaj na automatyczną obserwację gdy obserwowane konto migruje","attachmentRadius":"Załączniki","attachments":"Załączniki","avatar":"Awatar","avatarAltRadius":"Awatary (powiadomienia)","avatarRadius":"Awatary","background":"Tło","bio":"Bio","block_export":"Eksport blokad","block_export_button":"Eksportuj twoje blokady do pliku .csv","block_import":"Import blokad","block_import_error":"Wystąpił błąd podczas importowania blokad","blocks_imported":"Zaimportowano blokady, przetwarzanie może zająć trochę czasu.","blocks_tab":"Bloki","btnRadius":"Przyciski","cBlue":"Niebieski (odpowiedz, obserwuj)","cGreen":"Zielony (powtórzenia)","cOrange":"Pomarańczowy (ulubione)","cRed":"Czerwony (anuluj)","change_email":"Zmień email","change_email_error":"Wystąpił problem podczas zmiany emaila.","changed_email":"Pomyślnie zmieniono email!","change_password":"Zmień hasło","change_password_error":"Podczas zmiany hasła wystąpił problem.","changed_password":"Pomyślnie zmieniono hasło!","collapse_subject":"Zwijaj posty z tematami","composing":"Pisanie","confirm_new_password":"Potwierdź nowe hasło","current_avatar":"Twój obecny awatar","current_password":"Obecne hasło","current_profile_banner":"Twój obecny banner profilu","data_import_export_tab":"Import/eksport danych","default_vis":"Domyślny zakres widoczności","delete_account":"Usuń konto","delete_account_description":"Trwale usuń dane i zdezaktywuj konto.","delete_account_error":"Wystąpił problem z usuwaniem twojego konta. Jeżeli problem powtarza się, poinformuj administratora swojej instancji.","delete_account_instructions":"Wprowadź swoje hasło w poniższe pole aby potwierdzić usunięcie konta.","discoverable":"Zezwól na odkrywanie tego konta w wynikach wyszukiwania i innych usługach","domain_mutes":"Domeny","avatar_size_instruction":"Zalecany minimalny rozmiar awatarów to 150x150 pikseli.","pad_emoji":"Dodaj odstęp z obu stron emoji podczas dodawania selektorem","emoji_reactions_on_timeline":"Pokaż reakcje emoji na osi czasu","export_theme":"Zapisz motyw","filtering":"Filtrowanie","filtering_explanation":"Wszystkie statusy zawierające te słowa będą wyciszone. Jedno słowo na linijkę.","follow_export":"Eksport obserwowanych","follow_export_button":"Eksportuj swoją listę obserwowanych do pliku CSV","follow_import":"Import obserwowanych","follow_import_error":"Błąd przy importowaniu obserwowanych","follows_imported":"Obserwowani zaimportowani! Przetwarzanie może trochę potrwać.","accent":"Akcent","foreground":"Pierwszy plan","general":"Ogólne","hide_attachments_in_convo":"Ukrywaj załączniki w rozmowach","hide_attachments_in_tl":"Ukrywaj załączniki w osi czasu","hide_muted_posts":"Ukrywaj wpisy wyciszonych użytkowników","max_thumbnails":"Maksymalna liczba miniatur w poście","hide_isp":"Ukryj panel informacji o instancji","preload_images":"Ładuj wstępnie obrazy","use_one_click_nsfw":"Otwieraj załączniki NSFW jednym kliknięciem","hide_post_stats":"Ukrywaj statysyki postów (np. liczbę polubień)","hide_user_stats":"Ukrywaj statysyki użytkowników (np. liczbę obserwujących)","hide_filtered_statuses":"Ukrywaj filtrowane statusy","import_blocks_from_a_csv_file":"Importuj blokady z pliku CSV","import_followers_from_a_csv_file":"Importuj obserwowanych z pliku CSV","import_theme":"Załaduj motyw","inputRadius":"Pola tekstowe","checkboxRadius":"Pola wyboru","instance_default":"(domyślnie: {value})","instance_default_simple":"(domyślne)","interface":"Interfejs","interfaceLanguage":"Język interfejsu","invalid_theme_imported":"Wybrany plik nie jest obsługiwanym motywem Pleromy. Nie dokonano zmian w twoim motywie.","limited_availability":"Niedostępne w twojej przeglądarce","links":"Łącza","lock_account_description":"Spraw, by konto mogli wyświetlać tylko zatwierdzeni obserwujący","loop_video":"Zapętlaj filmy","loop_video_silent_only":"Zapętlaj tylko filmy bez dźwięku (np. mastodonowe „gify”)","mutes_tab":"Wyciszenia","play_videos_in_modal":"Odtwarzaj filmy bezpośrednio w przeglądarce mediów","use_contain_fit":"Nie przycinaj załączników na miniaturach","name":"Imię","name_bio":"Imię i bio","new_email":"Nowy email","new_password":"Nowe hasło","notification_visibility":"Rodzaje powiadomień do wyświetlania","notification_visibility_follows":"Obserwacje","notification_visibility_likes":"Ulubione","notification_visibility_mentions":"Wzmianki","notification_visibility_repeats":"Powtórzenia","notification_visibility_moves":"Użytkownik migruje","notification_visibility_emoji_reactions":"Reakcje","no_rich_text_description":"Usuwaj formatowanie ze wszystkich postów","no_blocks":"Brak blokad","no_mutes":"Brak wyciszeń","hide_follows_description":"Nie pokazuj kogo obserwuję","hide_followers_description":"Nie pokazuj kto mnie obserwuje","hide_follows_count_description":"Nie pokazuj licznika obserwowanych","hide_followers_count_description":"Nie pokazuj licznika obserwujących","show_admin_badge":"Pokazuj odznakę Administrator na moim profilu","show_moderator_badge":"Pokazuj odznakę Moderator na moim profilu","nsfw_clickthrough":"Włącz domyślne ukrywanie załączników o treści nieprzyzwoitej (NSFW)","oauth_tokens":"Tokeny OAuth","token":"Token","refresh_token":"Odśwież token","valid_until":"Ważne do","revoke_token":"Odwołać","panelRadius":"Panele","pause_on_unfocused":"Wstrzymuj strumieniowanie kiedy karta nie jest aktywna","presets":"Gotowe motywy","profile_background":"Tło profilu","profile_banner":"Banner profilu","profile_tab":"Profil","radii_help":"Ustaw zaokrąglenie krawędzi interfejsu (w pikselach)","replies_in_timeline":"Odpowiedzi na osi czasu","reply_visibility_all":"Pokazuj wszystkie odpowiedzi","reply_visibility_following":"Pokazuj tylko odpowiedzi skierowane do mnie i osób które obserwuję","reply_visibility_self":"Pokazuj tylko odpowiedzi skierowane do mnie","autohide_floating_post_button":"Ukryj automatycznie przycisk \\"Nowy post\\" (mobile)","saving_err":"Nie udało się zapisać ustawień","saving_ok":"Zapisano ustawienia","search_user_to_block":"Wyszukaj kogo chcesz zablokować","search_user_to_mute":"Wyszukaj kogo chcesz wyciszyć","security_tab":"Bezpieczeństwo","scope_copy":"Kopiuj zakres podczas odpowiadania (DM-y zawsze są kopiowane)","minimal_scopes_mode":"Zminimalizuj opcje wyboru zakresu postów","set_new_avatar":"Ustaw nowy awatar","set_new_profile_background":"Ustaw nowe tło profilu","set_new_profile_banner":"Ustaw nowy banner profilu","settings":"Ustawienia","subject_input_always_show":"Zawsze pokazuj pole tematu","subject_line_behavior":"Kopiuj temat podczas odpowiedzi","subject_line_email":"Jak w mailach – „re: temat”","subject_line_mastodon":"Jak na Mastodonie – po prostu kopiuj","subject_line_noop":"Nie kopiuj","post_status_content_type":"Post status content type","stop_gifs":"Odtwarzaj GIFy po najechaniu kursorem","streaming":"Włącz automatycznie strumieniowanie nowych postów gdy jesteś na początku strony","user_mutes":"Użytkownicy","useStreamingApi":"Otrzymuj posty i powiadomienia w czasie rzeczywistym","useStreamingApiWarning":"(Niezalecane, eksperymentalne, pomija posty)","text":"Tekst","theme":"Motyw","theme_help":"Użyj kolorów w notacji szesnastkowej (#rrggbb), by stworzyć swój motyw.","theme_help_v2_1":"Możesz też zastąpić kolory i widoczność poszczególnych komponentów przełączając pola wyboru, użyj „Wyczyść wszystko” aby usunąć wszystkie zastąpienia.","theme_help_v2_2":"Ikony pod niektórych wpisami są wskaźnikami kontrastu pomiędzy tłem a tekstem, po najechaniu na nie otrzymasz szczegółowe informacje. Zapamiętaj, że jeżeli używasz przezroczystości, wskaźniki pokazują najgorszy możliwy przypadek.","tooltipRadius":"Etykiety/alerty","type_domains_to_mute":"Wyszukaj domeny, które chcesz wyciszyć","upload_a_photo":"Wyślij zdjęcie","user_settings":"Ustawienia użytkownika","values":{"false":"nie","true":"tak"},"fun":"Zabawa","greentext":"Memiczne strzałki","notifications":"Powiadomienia","notification_mutes":"By przestać otrzymywać powiadomienia od jednego użytkownika, wycisz go.","notification_blocks":"Blokowanie uzytkownika zatrzymuje wszystkie powiadomienia i odsubskrybowuje go.","enable_web_push_notifications":"Włącz powiadomienia push","style":{"switcher":{"keep_color":"Zachowaj kolory","keep_shadows":"Zachowaj cienie","keep_opacity":"Zachowaj widoczność","keep_roundness":"Zachowaj zaokrąglenie","keep_fonts":"Zachowaj czcionki","save_load_hint":"Opcje „zachowaj” pozwalają na pozostanie przy obecnych opcjach po wybraniu lub załadowaniu motywu, jak i przechowywanie ich podczas eksportowania motywu. Jeżeli wszystkie opcje są odznaczone, eksportowanie motywu spowoduje zapisanie wszystkiego.","reset":"Wyzeruj","clear_all":"Wyczyść wszystko","clear_opacity":"Wyczyść widoczność","load_theme":"Załaduj motyw","keep_as_is":"Zostaw po staremu","use_snapshot":"Stara wersja","use_source":"Nowa wersja","help":{"upgraded_from_v2":"PleromaFE zostało zaaktualizowane, motyw może wyglądać nieco inaczej niż zapamiętałeś(-aś).","v2_imported":"Plik który zaimportowałeś(-aś) został stworzony dla starszego FE. Próbujemy zwiększyć kompatybilność, lecz wciąż mogą występować rozbieżności.","future_version_imported":"Plik który zaimportowałeś(-aś) został stworzony w nowszej wersji FE.","older_version_imported":"Plik który zaimportowałeś(-aś) został stworzony w starszej wersji FE.","snapshot_present":"Migawka motywu jest załadowana, więc wszystkie wartości zostały nadpisane. Zamiast tego możesz załadować właściwe dane motywu.","snapshot_missing":"Nie znaleziono migawki motywu w pliku, więc motyw może wyglądać inaczej niż pierwotnie zaplanowano.","fe_upgraded":"Silnik motywów PleromaFE został zaaktualizowany.","fe_downgraded":"Wersja PleromaFE została cofnięta.","migration_snapshot_ok":"Żeby być bezpiecznym, migawka motywu została załadowana. Możesz spróbować załadować dane motywu.","migration_napshot_gone":"Z jakiegoś powodu migawka zniknęła, niektóre rzeczy mogą wyglądać inaczej niż zapamiętałeś(-aś).","snapshot_source_mismatch":"Konflikt wersji: najprawdopodobniej FE zostało cofnięte do poprzedniej wersji i zaktualizowane ponownie, jeśli zmieniłeś(-aś) motyw używając starszej wersji FE, najprawdopodobniej chcesz używać starszej wersji, w przeciwnym razie użyj nowej wersji."}},"common":{"color":"Kolor","opacity":"Widoczność","contrast":{"hint":"Współczynnik kontrastu wynosi {ratio}, {level} {context}","level":{"aa":"spełnia wymogi poziomu AA (minimalne)","aaa":"spełnia wymogi poziomu AAA (zalecane)","bad":"nie spełnia żadnych wymogów dostępności"},"context":{"18pt":"dla dużego tekstu (18pt+)","text":"dla tekstu"}}},"common_colors":{"_tab_label":"Ogólne","main":"Ogólne kolory","foreground_hint":"Zajrzyj do karty „Zaawansowane”, aby uzyskać dokładniejszą kontrolę","rgbo":"Ikony, wyróżnienia, odznaki"},"advanced_colors":{"_tab_label":"Zaawansowane","alert":"Tło alertu","alert_error":"Błąd","alert_warning":"Ostrzeżenie","alert_neutral":"Neutralne","post":"Posty/Bio użytkowników","badge":"Tło odznaki","popover":"Etykiety, menu, popovery","badge_notification":"Powiadomienie","panel_header":"Nagłówek panelu","top_bar":"Górny pasek","borders":"Granice","buttons":"Przyciski","inputs":"Pola wejścia","faint_text":"Zanikający tekst","underlay":"Podkład","poll":"Wykres ankiety","icons":"Ikony","highlight":"Podświetlone elementy","pressed":"Naciśnięte","selectedPost":"Wybrany post","selectedMenu":"Wybrany element menu","disabled":"Wyłączone","toggled":"Przełączone","tabs":"Karty","chat":{"outgoing":"Wiadomości wychodzące","incoming":"Wiadomości przychodzące","border":"Granica"},"wallpaper":"Tło"},"radii":{"_tab_label":"Zaokrąglenie"},"shadows":{"_tab_label":"Cień i podświetlenie","component":"Komponent","override":"Zastąp","shadow_id":"Cień #{value}","blur":"Rozmycie","spread":"Szerokość","inset":"Inset","hintV3":"Dla cieni możesz również użyć notacji {0} by użyć inny slot koloru.","filter_hint":{"always_drop_shadow":"Ostrzeżenie, ten cień zawsze używa {0} jeżeli to obsługiwane przez przeglądarkę.","drop_shadow_syntax":"{0} nie obsługuje parametru {1} i słowa kluczowego {2}.","avatar_inset":"Pamiętaj że użycie jednocześnie cieni inset i nie inset na awatarach może dać nieoczekiwane wyniki z przezroczystymi awatarami.","spread_zero":"Cienie o ujemnej szerokości będą widoczne tak, jakby wynosiła ona zero","inset_classic":"Cienie inset będą używały {0}"},"components":{"panel":"Panel","panelHeader":"Nagłówek panelu","topBar":"Górny pasek","avatar":"Awatar użytkownika (w widoku profilu)","avatarStatus":"Awatar użytkownika (w widoku wpisu)","popup":"Wyskakujące okna i podpowiedzi","button":"Przycisk","buttonHover":"Przycisk (po najechaniu)","buttonPressed":"Przycisk (naciśnięty)","buttonPressedHover":"Przycisk(naciśnięty+najechany)","input":"Pole wejścia"}},"fonts":{"_tab_label":"Czcionki","help":"Wybierz czcionkę używaną przez elementy UI. Jeżeli wybierzesz niestandardową, musisz wpisać dokładnie tę nazwę, pod którą pojawia się w systemie.","components":{"interface":"Interfejs","input":"Pola wejścia","post":"Tekst postu","postCode":"Tekst o stałej szerokości znaków w sformatowanym poście"},"family":"Nazwa czcionki","size":"Rozmiar (w pikselach)","weight":"Grubość","custom":"Niestandardowa"},"preview":{"header":"Podgląd","content":"Zawartość","error":"Przykładowy błąd","button":"Przycisk","text":"Trochę więcej {0} i {1}","mono":"treści","input":"Właśnie wróciłem z kościoła","faint_link":"pomocny podręcznik","fine_print":"Przeczytaj nasz {0}, aby nie nauczyć się niczego przydatnego!","header_faint":"W porządku","checkbox":"Przeleciałem(-am) przez zasady użytkowania","link":"i fajny mały odnośnik"}},"version":{"title":"Wersja","backend_version":"Wersja back-endu","frontend_version":"Wersja front-endu"},"notification_setting_privacy":"Prywatność","notification_setting_filters":"Filtry","notification_setting_privacy_option":"Ukryj nadawcę i zawartość powiadomień push","reset_avatar":"Zresetuj awatar","profile_fields":{"value":"Zawartość","label":"Metadane profilu","name":"Nazwa","add_field":"Dodaj pole"},"bot":"To konto jest prowadzone przez bota","notification_setting_hide_notification_contents":"Ukryj nadawcę i zawartość powiadomień push","notification_setting_block_from_strangers":"Zablokuj powiadomienia od użytkowników których nie obserwujesz","virtual_scrolling":"Optymalizuj renderowanie osi czasu","reset_background_confirm":"Czy naprawdę chcesz zresetować tło?","reset_banner_confirm":"Czy naprawdę chcesz zresetować banner?","reset_avatar_confirm":"Czy naprawdę chcesz zresetować awatar?","reset_profile_banner":"Zresetuj banner profilowy","reset_profile_background":"Zresetuj tło profilowe","mutes_and_blocks":"Wyciszenia i blokady","chatMessageRadius":"Wiadomość czatu","import_mutes_from_a_csv_file":"Zaimportuj wyciszenia z pliku .csv","mutes_imported":"Zaimportowano wyciszenia! Przetwarzanie zajmie chwilę.","mute_import_error":"Wystąpił błąd podczas importowania wyciszeń","mute_import":"Import wyciszeń","mute_export_button":"Wyeksportuj swoje wyciszenia do pliku .csv","mute_export":"Eksport wyciszeń","hide_wallpaper":"Ukryj tło instancji"},"time":{"day":"{0} dzień","days":"{0} dni","day_short":"{0} d","days_short":"{0} d","hour":"{0} godzina","hours":"{0} godzin","hour_short":"{0} godz.","hours_short":"{0} godz.","in_future":"za {0}","in_past":"{0} temu","minute":"{0} minuta","minutes":"{0} minut","minute_short":"{0} min","minutes_short":"{0} min","month":"{0} miesiąc","months":"{0} miesięcy","month_short":"{0} mies.","months_short":"{0} mies.","now":"teraz","now_short":"teraz","second":"{0} sekunda","seconds":"{0} sekund","second_short":"{0} s","seconds_short":"{0} s","week":"{0} tydzień","weeks":"{0} tygodni","week_short":"{0} tydz.","weeks_short":"{0} tyg.","year":"{0} rok","years":"{0} lata","year_short":"{0} r.","years_short":"{0} lata"},"timeline":{"collapse":"Zwiń","conversation":"Rozmowa","error_fetching":"Błąd pobierania","load_older":"Załaduj starsze statusy","no_retweet_hint":"Wpis oznaczony jako tylko dla obserwujących lub bezpośredni nie może zostać powtórzony","repeated":"powtórzył(-a)","show_new":"Pokaż nowe","up_to_date":"Na bieżąco","no_more_statuses":"Brak kolejnych statusów","no_statuses":"Brak statusów","reload":"Odśwież","error":"Błąd pobierania osi czasu: {0}"},"status":{"favorites":"Ulubione","repeats":"Powtórzenia","delete":"Usuń status","pin":"Przypnij na profilu","unpin":"Odepnij z profilu","pinned":"Przypnięte","delete_confirm":"Czy naprawdę chcesz usunąć ten status?","reply_to":"Odpowiedź dla","replies_list":"Odpowiedzi:","mute_conversation":"Wycisz konwersację","unmute_conversation":"Odcisz konwersację","status_unavailable":"Status niedostępny","copy_link":"Kopiuj link do statusu","unbookmark":"Usuń z zakładek","bookmark":"Dodaj do zakładek","hide_content":"Ukryj zawartość","show_content":"Pokaż zawartość","hide_full_subject":"Ukryj cały temat","show_full_subject":"Pokaż cały temat","thread_muted_and_words":", ma słowa:","thread_muted":"Wątek wyciszony","status_deleted":"Ten wpis został usunięty","expand":"Rozwiń","nsfw":"NSFW","external_source":"Zewnętrzne źródło"},"user_card":{"approve":"Przyjmij","block":"Zablokuj","blocked":"Zablokowany!","deny":"Odrzuć","favorites":"Ulubione","follow":"Obserwuj","follow_sent":"Wysłano prośbę!","follow_progress":"Wysyłam prośbę…","follow_again":"Wysłać prośbę ponownie?","follow_unfollow":"Przestań obserwować","followees":"Obserwowani","followers":"Obserwujący","following":"Obserwowany!","follows_you":"Obserwuje cię!","hidden":"Ukryte","its_you":"To ty!","media":"Media","mention":"Wspomnienie","mute":"Wycisz","muted":"Wyciszony(-a)","per_day":"dziennie","remote_follow":"Zdalna obserwacja","report":"Zgłoś","statuses":"Statusy","subscribe":"Subskrybuj","unsubscribe":"Odsubskrybuj","unblock":"Odblokuj","unblock_progress":"Odblokowuję…","block_progress":"Blokuję…","unmute":"Cofnij wyciszenie","unmute_progress":"Cofam wyciszenie…","mute_progress":"Wyciszam…","hide_repeats":"Ukryj powtórzenia","show_repeats":"Pokaż powtórzenia","admin_menu":{"moderation":"Moderacja","grant_admin":"Przyznaj admina","revoke_admin":"Odwołaj admina","grant_moderator":"Przyznaj moderatora","revoke_moderator":"Odwołaj moderatora","activate_account":"Aktywuj konto","deactivate_account":"Dezaktywuj konto","delete_account":"Usuń konto","force_nsfw":"Oznacz wszystkie posty jako NSFW","strip_media":"Usuń multimedia z postów","force_unlisted":"Wymuś posty na niepubliczne","sandbox":"Wymuś by posty były tylko dla obserwujących","disable_remote_subscription":"Zakaż obserwowania użytkownika ze zdalnych instancji","disable_any_subscription":"Zakaż całkowicie obserwowania użytkownika","quarantine":"Zakaż federowania postów od tego użytkownika","delete_user":"Usuń użytkownika","delete_user_confirmation":"Czy jesteś absolutnie pewny(-a)? Ta operacja nie może być cofnięta."},"message":"Napisz"},"user_profile":{"timeline_title":"Oś czasu użytkownika","profile_does_not_exist":"Przepraszamy, ten profil nie istnieje.","profile_loading_error":"Przepraszamy, wystąpił błąd podczas ładowania tego profilu."},"user_reporting":{"title":"Raportowanie {0}","add_comment_description":"Zgłoszenie zostanie wysłane do moderatorów instancji. Możesz dodać powód dlaczego zgłaszasz owe konto poniżej:","additional_comments":"Dodatkowe komentarze","forward_description":"To konto jest z innego serwera. Wysłać również tam kopię zgłoszenia?","forward_to":"Przekaż do {0}","submit":"Wyślij","generic_error":"Wystąpił błąd podczas przetwarzania twojej prośby."},"who_to_follow":{"more":"Więcej","who_to_follow":"Propozycje obserwacji"},"tool_tip":{"media_upload":"Wyślij media","repeat":"Powtórz","reply":"Odpowiedz","favorite":"Dodaj do ulubionych","add_reaction":"Dodaj reakcję","user_settings":"Ustawienia użytkownika","accept_follow_request":"Akceptuj prośbę o możliwość obserwacji","reject_follow_request":"Odrzuć prośbę o możliwość obserwacji","bookmark":"Zakładka"},"upload":{"error":{"base":"Wysyłanie nie powiodło się.","file_too_big":"Zbyt duży plik [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","default":"Spróbuj ponownie później","message":"Błąd wysyłania: {0}"},"file_size_units":{"B":"B","KiB":"KiB","MiB":"MiB","GiB":"GiB","TiB":"TiB"}},"search":{"people":"Ludzie","hashtags":"Hasztagi","person_talking":"{count} osoba rozmawia o tym","people_talking":"{count} osób rozmawia o tym","no_results":"Brak wyników"},"password_reset":{"forgot_password":"Zapomniałeś(-aś) hasła?","password_reset":"Reset hasła","instruction":"Wprowadź swój adres email lub nazwę użytkownika. Wyślemy ci link z którym możesz zresetować hasło.","placeholder":"Twój email lub nazwa użytkownika","check_email":"Sprawdź pocztę, aby uzyskać link do zresetowania hasła.","return_home":"Wróć do strony głównej","too_many_requests":"Przekroczyłeś(-aś) limit prób, spróbuj ponownie później.","password_reset_disabled":"Resetowanie hasła jest wyłączone. Proszę skontaktuj się z administratorem tej instancji.","password_reset_required":"Musisz zresetować hasło, by się zalogować.","password_reset_required_but_mailer_is_disabled":"Musisz zresetować hasło, ale resetowanie hasła jest wyłączone. Proszę skontaktuj się z administratorem tej instancji."},"file_type":{"file":"Plik","image":"Zdjęcie","video":"Wideo","audio":"Audio"},"chats":{"more":"Więcej","delete":"Usuń","you":"Ty:","delete_confirm":"Czy na pewno chcesz usunąć tą wiadomość?","message_user":"Napisz do {nickname}","error_sending_message":"Coś poszło nie tak podczas wysyłania wiadomości.","error_loading_chat":"Coś poszło nie tak podczas ładowania czatu.","empty_message_error":"Nie można wysłać pustej wiadomości","new":"Nowy czat","empty_chat_list_placeholder":"Nie masz jeszcze żadnych czatów. Zacznij nowy czat!","chats":"Czaty"},"display_date":{"today":"Dzisiaj"},"shoutbox":{"title":"Shoutbox"},"errors":{"storage_unavailable":"Pleroma nie mogła uzyskać dostępu do pamięci masowej przeglądarki. Twój login lub lokalne ustawienia nie zostaną zapisane i możesz napotkać problemy. Spróbuj włączyć ciasteczka."}}')}}]); -//# sourceMappingURL=25.34eeae0070f7f1eb6843.js.map \ No newline at end of file diff --git a/priv/static/static/js/25.34eeae0070f7f1eb6843.js.map b/priv/static/static/js/25.34eeae0070f7f1eb6843.js.map deleted file mode 100644 index 2af21b09b..000000000 --- a/priv/static/static/js/25.34eeae0070f7f1eb6843.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/25.34eeae0070f7f1eb6843.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/25.8185e4d775cea9fe47e1.js b/priv/static/static/js/25.8185e4d775cea9fe47e1.js new file mode 100644 index 000000000..ca0e22957 --- /dev/null +++ b/priv/static/static/js/25.8185e4d775cea9fe47e1.js @@ -0,0 +1,2 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[25],{618:function(e){e.exports=JSON.parse('{"about":{"mrf":{"federation":"Federacja","keyword":{"keyword_policies":"Zasady słów kluczowych","ftl_removal":"Usunięcie z \\"Całej znanej sieci\\"","reject":"Odrzucanie","replace":"Zastąpienie","is_replaced_by":"→"},"mrf_policies":"Włączone zasady MRF","mrf_policies_desc":"Zasady MRF zmieniają zachowanie federowania instancji. Następujące zasady są włączone:","simple":{"simple_policies":"Zasady specyficzne dla instancji","accept":"Akceptowanie","accept_desc":"Ta instancja akceptuje tylko posty z wymienionych instancji:","reject":"Odrzucanie","reject_desc":"Ta instancja odrzuca posty z wymienionych instancji:","quarantine":"Kwarantanna","quarantine_desc":"Ta instancja wysyła tylko publiczne posty do wymienionych instancji:","ftl_removal":"Usunięcie z „Całej znanej sieci”","ftl_removal_desc":"Ta instancja usuwa wymienionych instancje z „Całej znanej sieci”:","media_removal":"Usuwanie multimediów","media_removal_desc":"Ta instancja usuwa multimedia z postów od wymienionych instancji:","media_nsfw":"Multimedia ustawione jako wrażliwe","media_nsfw_desc":"Ta instancja wymusza, by multimedia z wymienionych instancji były ustawione jako wrażliwe:"}},"staff":"Administracja"},"chat":{"title":"Czat"},"domain_mute_card":{"mute":"Wycisz","mute_progress":"Wyciszam…","unmute":"Odcisz","unmute_progress":"Odciszam…"},"exporter":{"export":"Eksportuj","processing":"Przetwarzam, za chwilę zostaniesz zapytany(-na) o ściągnięcie pliku"},"features_panel":{"chat":"Czat","gopher":"Gopher","media_proxy":"Proxy mediów","scope_options":"Ustawienia zakresu","text_limit":"Limit tekstu","title":"Funkcje","who_to_follow":"Propozycje obserwacji","pleroma_chat_messages":"Czat Pleromy","upload_limit":"Limit wysyłania"},"finder":{"error_fetching_user":"Błąd przy pobieraniu profilu","find_user":"Znajdź użytkownika"},"general":{"apply":"Zastosuj","submit":"Wyślij","more":"Więcej","generic_error":"Wystąpił błąd","optional":"nieobowiązkowe","show_more":"Pokaż więcej","show_less":"Pokaż mniej","dismiss":"Odrzuć","cancel":"Anuluj","disable":"Wyłącz","enable":"Włącz","confirm":"Potwierdź","verify":"Zweryfikuj","close":"Zamknij","loading":"Ładowanie…","retry":"Spróbuj ponownie","peek":"Spójrz","error_retry":"Spróbuj ponownie","flash_content":"Naciśnij, aby wyświetlić zawartości Flash z użyciem Ruffle (eksperymentalnie, może nie działać).","flash_fail":"Nie udało się załadować treści flash, zajrzyj do konsoli, aby odnaleźć szczegóły.","role":{"moderator":"Moderator","admin":"Administrator"}},"image_cropper":{"crop_picture":"Przytnij obrazek","save":"Zapisz","save_without_cropping":"Zapisz bez przycinania","cancel":"Anuluj"},"importer":{"submit":"Wyślij","success":"Zaimportowano pomyślnie.","error":"Wystąpił błąd podczas importowania pliku."},"login":{"login":"Zaloguj","description":"Zaloguj używając OAuth","logout":"Wyloguj","password":"Hasło","placeholder":"n.p. lain","register":"Zarejestruj","username":"Użytkownik","hint":"Zaloguj się, aby dołączyć do dyskusji","authentication_code":"Kod weryfikacyjny","enter_recovery_code":"Wprowadź kod zapasowy","enter_two_factor_code":"Wprowadź kod weryfikacyjny","recovery_code":"Kod zapasowy","heading":{"totp":"Weryfikacja dwuetapowa","recovery":"Zapasowa weryfikacja dwuetapowa"}},"media_modal":{"previous":"Poprzednie","next":"Następne"},"nav":{"about":"O nas","administration":"Administracja","back":"Wróć","chat":"Lokalny czat","friend_requests":"Prośby o możliwość obserwacji","mentions":"Wzmianki","interactions":"Interakcje","dms":"Wiadomości bezpośrednie","public_tl":"Publiczna oś czasu","timeline":"Oś czasu","twkn":"Znana sieć","user_search":"Wyszukiwanie użytkowników","search":"Wyszukiwanie","who_to_follow":"Sugestie obserwacji","preferences":"Preferencje","bookmarks":"Zakładki","chats":"Czaty","timelines":"Osie czasu","home_timeline":"Główna oś czasu"},"notifications":{"broken_favorite":"Nieznany status, szukam go…","favorited_you":"dodał(-a) twój status do ulubionych","followed_you":"obserwuje cię","load_older":"Załaduj starsze powiadomienia","notifications":"Powiadomienia","read":"Przeczytane!","repeated_you":"powtórzył(-a) twój status","no_more_notifications":"Nie masz więcej powiadomień","migrated_to":"wyemigrował do","reacted_with":"zareagował z {0}","follow_request":"chce ciebie obserwować","error":"Błąd pobierania powiadomień: {0}"},"polls":{"add_poll":"Dodaj ankietę","add_option":"Dodaj opcję","option":"Opcja","votes":"głosów","vote":"Głosuj","type":"Typ ankiety","single_choice":"jednokrotnego wyboru","multiple_choices":"wielokrotnego wyboru","expiry":"Czas trwania ankiety","expires_in":"Ankieta kończy się za {0}","expired":"Ankieta skończyła się {0} temu","not_enough_options":"Zbyt mało unikalnych opcji w ankiecie","people_voted_count":"{count} osoba zagłosowała | {count} osoby zagłosowały | {count} osób zagłosowało","votes_count":"{count} głos | {count} głosy | {count} głosów"},"emoji":{"stickers":"Naklejki","emoji":"Emoji","keep_open":"Zostaw selektor otwarty","search_emoji":"Wyszukaj emoji","add_emoji":"Wstaw emoji","custom":"Niestandardowe emoji","unicode":"Emoji unicode","load_all_hint":"Załadowano pierwsze {saneAmount} emoji, Załadowanie wszystkich emoji może spowodować problemy z wydajnością.","load_all":"Ładuję wszystkie {emojiAmount} emoji"},"interactions":{"favs_repeats":"Powtórzenia i ulubione","follows":"Nowi obserwujący","moves":"Użytkownik migruje","load_older":"Załaduj starsze interakcje"},"post_status":{"new_status":"Dodaj nowy status","account_not_locked_warning":"Twoje konto nie jest {0}. Każdy może cię zaobserwować aby zobaczyć wpisy tylko dla obserwujących.","account_not_locked_warning_link":"zablokowane","attachments_sensitive":"Oznacz załączniki jako wrażliwe","content_type":{"text/plain":"Czysty tekst","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},"content_warning":"Temat (nieobowiązkowy)","default":"Właśnie wróciłem z kościoła","direct_warning_to_all":"Ten wpis zobaczą wszystkie osoby, o których wspomniałeś(-aś).","direct_warning_to_first_only":"Ten wpis zobaczą tylko te osoby, o których wspomniałeś(-aś) na początku wiadomości.","posting":"Wysyłanie","scope_notice":{"public":"Ten post będzie widoczny dla każdego","private":"Ten post będzie widoczny tylko dla twoich obserwujących","unlisted":"Ten post nie będzie widoczny na publicznej osi czasu i całej znanej sieci"},"scope":{"direct":"Bezpośredni – tylko dla wspomnianych użytkowników","private":"Tylko dla obserwujących – umieść dla osób, które cię obserwują","public":"Publiczny – umieść na publicznych osiach czasu","unlisted":"Niewidoczny – nie umieszczaj na publicznych osiach czasu"},"preview_empty":"Pusty","preview":"Podgląd","empty_status_error":"Nie można wysłać pustego wpisu bez plików","media_description_error":"Nie udało się zaktualizować mediów, spróbuj ponownie","media_description":"Opis mediów","post":"Opublikuj"},"registration":{"bio":"Bio","email":"E-mail","fullname":"Wyświetlana nazwa profilu","password_confirm":"Potwierdzenie hasła","registration":"Rejestracja","token":"Token zaproszenia","captcha":"CAPTCHA","new_captcha":"Naciśnij na obrazek, aby dostać nowy kod captcha","username_placeholder":"np. lain","fullname_placeholder":"np. Lain Iwakura","bio_placeholder":"e.g.\\nCześć, jestem Lain.\\nJestem dziewczynką z anime żyjącą na peryferiach Japonii. Możesz znać mnie z Wired.","validations":{"username_required":"nie może być pusta","fullname_required":"nie może być pusta","email_required":"nie może być pusty","password_required":"nie może być puste","password_confirmation_required":"nie może być puste","password_confirmation_match":"musi być takie jak hasło"},"reason":"Powód rejestracji","reason_placeholder":"Ta instancja ręcznie zatwierdza rejestracje.\\nPoinformuj administratora, dlaczego chcesz się zarejestrować.","register":"Zarejestruj się"},"remote_user_resolver":{"remote_user_resolver":"Wyszukiwarka użytkowników nietutejszych","searching_for":"Szukam","error":"Nie znaleziono."},"selectable_list":{"select_all":"Zaznacz wszystko"},"settings":{"app_name":"Nazwa aplikacji","security":"Bezpieczeństwo","enter_current_password_to_confirm":"Wprowadź obecne hasło, by potwierdzić twoją tożsamość","mfa":{"otp":"OTP","setup_otp":"Ustaw OTP","wait_pre_setup_otp":"początkowe ustawianie OTP","confirm_and_enable":"Potwierdź i włącz OTP","title":"Weryfikacja dwuetapowa","generate_new_recovery_codes":"Wygeneruj nowe kody zapasowe","warning_of_generate_new_codes":"Po tym gdy wygenerujesz nowe kody zapasowe, stare przestaną działać.","recovery_codes":"Kody zapasowe.","waiting_a_recovery_codes":"Otrzymuję kody zapasowe…","recovery_codes_warning":"Spisz kody na kartce papieru, albo zapisz je w bezpiecznym miejscu - inaczej nie zobaczysz ich już nigdy. Jeśli stracisz dostęp do twojej aplikacji 2FA i kodów zapasowych, nie będziesz miał(-a) dostępu do swojego konta.","authentication_methods":"Metody weryfikacji","scan":{"title":"Skanuj","desc":"Zeskanuj ten kod QR używając twojej aplikacji 2FA albo wpisz ten klucz:","secret_code":"Klucz"},"verify":{"desc":"By włączyć weryfikację dwuetapową, wpisz kod z twojej aplikacji 2FA:"}},"allow_following_move":"Zezwalaj na automatyczną obserwację gdy obserwowane konto migruje","attachmentRadius":"Załączniki","attachments":"Załączniki","avatar":"Awatar","avatarAltRadius":"Awatary (powiadomienia)","avatarRadius":"Awatary","background":"Tło","bio":"Bio","block_export":"Eksport blokad","block_export_button":"Eksportuj twoje blokady do pliku .csv","block_import":"Import blokad","block_import_error":"Wystąpił błąd podczas importowania blokad","blocks_imported":"Zaimportowano blokady, przetwarzanie może zająć trochę czasu.","blocks_tab":"Bloki","btnRadius":"Przyciski","cBlue":"Niebieski (odpowiedz, obserwuj)","cGreen":"Zielony (powtórzenia)","cOrange":"Pomarańczowy (ulubione)","cRed":"Czerwony (anuluj)","change_email":"Zmień e-mail","change_email_error":"Wystąpił problem podczas zmiany emaila.","changed_email":"Pomyślnie zmieniono email!","change_password":"Zmień hasło","change_password_error":"Podczas zmiany hasła wystąpił problem.","changed_password":"Pomyślnie zmieniono hasło!","collapse_subject":"Zwijaj posty z tematami","composing":"Pisanie","confirm_new_password":"Potwierdź nowe hasło","current_avatar":"Twój obecny awatar","current_password":"Obecne hasło","current_profile_banner":"Twój obecny banner profilu","data_import_export_tab":"Import/eksport danych","default_vis":"Domyślny zakres widoczności","delete_account":"Usuń konto","delete_account_description":"Trwale usuń dane i zdezaktywuj konto.","delete_account_error":"Wystąpił problem z usuwaniem twojego konta. Jeżeli problem powtarza się, poinformuj administratora swojej instancji.","delete_account_instructions":"Wprowadź swoje hasło w poniższe pole aby potwierdzić usunięcie konta.","discoverable":"Zezwól na odkrywanie tego konta w wynikach wyszukiwania i innych usługach","domain_mutes":"Domeny","avatar_size_instruction":"Zalecany minimalny rozmiar awatarów to 150x150 pikseli.","pad_emoji":"Dodaj odstęp z obu stron emoji podczas dodawania selektorem","emoji_reactions_on_timeline":"Pokaż reakcje emoji na osi czasu","export_theme":"Zapisz motyw","filtering":"Filtrowanie","filtering_explanation":"Wszystkie statusy zawierające te słowa będą wyciszone. Jedno słowo na linijkę.","follow_export":"Eksport obserwowanych","follow_export_button":"Eksportuj swoją listę obserwowanych do pliku CSV","follow_import":"Import obserwowanych","follow_import_error":"Błąd przy importowaniu obserwowanych","follows_imported":"Obserwowani zaimportowani! Przetwarzanie może trochę potrwać.","accent":"Akcent","foreground":"Pierwszy plan","general":"Ogólne","hide_attachments_in_convo":"Ukrywaj załączniki w rozmowach","hide_attachments_in_tl":"Ukrywaj załączniki w osi czasu","hide_muted_posts":"Ukrywaj wpisy wyciszonych użytkowników","max_thumbnails":"Maksymalna liczba miniatur w poście","hide_isp":"Ukryj panel informacji o instancji","preload_images":"Ładuj wstępnie obrazy","use_one_click_nsfw":"Otwieraj załączniki NSFW jednym kliknięciem","hide_post_stats":"Ukrywaj statysyki postów (np. liczbę polubień)","hide_user_stats":"Ukrywaj statysyki użytkowników (np. liczbę obserwujących)","hide_filtered_statuses":"Ukrywaj filtrowane statusy","import_blocks_from_a_csv_file":"Importuj blokady z pliku CSV","import_followers_from_a_csv_file":"Importuj obserwowanych z pliku CSV","import_theme":"Załaduj motyw","inputRadius":"Pola tekstowe","checkboxRadius":"Pola wyboru","instance_default":"(domyślnie: {value})","instance_default_simple":"(domyślne)","interface":"Interfejs","interfaceLanguage":"Język interfejsu","invalid_theme_imported":"Wybrany plik nie jest obsługiwanym motywem Pleromy. Nie dokonano zmian w twoim motywie.","limited_availability":"Niedostępne w twojej przeglądarce","links":"Łącza","lock_account_description":"Spraw, by konto mogli wyświetlać tylko zatwierdzeni obserwujący","loop_video":"Zapętlaj filmy","loop_video_silent_only":"Zapętlaj tylko filmy bez dźwięku (np. mastodonowe „gify”)","mutes_tab":"Wyciszenia","play_videos_in_modal":"Odtwarzaj filmy bezpośrednio w przeglądarce mediów","use_contain_fit":"Nie przycinaj załączników na miniaturach","name":"Imię","name_bio":"Imię i bio","new_email":"Nowy e-mail","new_password":"Nowe hasło","notification_visibility":"Rodzaje powiadomień do wyświetlania","notification_visibility_follows":"Obserwacje","notification_visibility_likes":"Ulubione","notification_visibility_mentions":"Wzmianki","notification_visibility_repeats":"Powtórzenia","notification_visibility_moves":"Użytkownik migruje","notification_visibility_emoji_reactions":"Reakcje","no_rich_text_description":"Usuwaj formatowanie ze wszystkich postów","no_blocks":"Brak blokad","no_mutes":"Brak wyciszeń","hide_follows_description":"Nie pokazuj kogo obserwuję","hide_followers_description":"Nie pokazuj kto mnie obserwuje","hide_follows_count_description":"Nie pokazuj licznika obserwowanych","hide_followers_count_description":"Nie pokazuj licznika obserwujących","show_admin_badge":"Pokazuj odznakę „Administrator” na moim profilu","show_moderator_badge":"Pokazuj odznakę „Moderator” na moim profilu","nsfw_clickthrough":"Włącz domyślne ukrywanie załączników o treści nieprzyzwoitej (NSFW)","oauth_tokens":"Tokeny OAuth","token":"Token","refresh_token":"Odśwież token","valid_until":"Ważne do","revoke_token":"Odwołać","panelRadius":"Panele","pause_on_unfocused":"Wstrzymuj strumieniowanie kiedy karta nie jest aktywna","presets":"Gotowe motywy","profile_background":"Tło profilu","profile_banner":"Banner profilu","profile_tab":"Profil","radii_help":"Ustaw zaokrąglenie krawędzi interfejsu (w pikselach)","replies_in_timeline":"Odpowiedzi na osi czasu","reply_visibility_all":"Pokazuj wszystkie odpowiedzi","reply_visibility_following":"Pokazuj tylko odpowiedzi skierowane do mnie i osób które obserwuję","reply_visibility_self":"Pokazuj tylko odpowiedzi skierowane do mnie","autohide_floating_post_button":"Ukryj automatycznie przycisk \\"Nowy post\\" (mobile)","saving_err":"Nie udało się zapisać ustawień","saving_ok":"Zapisano ustawienia","search_user_to_block":"Wyszukaj kogo chcesz zablokować","search_user_to_mute":"Wyszukaj kogo chcesz wyciszyć","security_tab":"Bezpieczeństwo","scope_copy":"Kopiuj zakres podczas odpowiadania (DM-y zawsze są kopiowane)","minimal_scopes_mode":"Zminimalizuj opcje wyboru zakresu postów","set_new_avatar":"Ustaw nowy awatar","set_new_profile_background":"Ustaw nowe tło profilu","set_new_profile_banner":"Ustaw nowy banner profilu","settings":"Ustawienia","subject_input_always_show":"Zawsze pokazuj pole tematu","subject_line_behavior":"Kopiuj temat podczas odpowiedzi","subject_line_email":"Jak w mailach – „re: temat”","subject_line_mastodon":"Jak na Mastodonie – po prostu kopiuj","subject_line_noop":"Nie kopiuj","post_status_content_type":"Post status content type","stop_gifs":"Odtwarzaj GIFy po najechaniu kursorem","streaming":"Włącz automatycznie strumieniowanie nowych postów gdy jesteś na początku strony","user_mutes":"Użytkownicy","useStreamingApi":"Otrzymuj posty i powiadomienia w czasie rzeczywistym","useStreamingApiWarning":"(Niezalecane, eksperymentalne, pomija posty)","text":"Tekst","theme":"Motyw","theme_help":"Użyj kolorów w notacji szesnastkowej (#rrggbb), by stworzyć swój motyw.","theme_help_v2_1":"Możesz też zastąpić kolory i widoczność poszczególnych komponentów przełączając pola wyboru, użyj „Wyczyść wszystko” aby usunąć wszystkie zastąpienia.","theme_help_v2_2":"Ikony pod niektórych wpisami są wskaźnikami kontrastu pomiędzy tłem a tekstem, po najechaniu na nie otrzymasz szczegółowe informacje. Zapamiętaj, że jeżeli używasz przezroczystości, wskaźniki pokazują najgorszy możliwy przypadek.","tooltipRadius":"Etykiety/alerty","type_domains_to_mute":"Wyszukaj domeny, które chcesz wyciszyć","upload_a_photo":"Wyślij zdjęcie","user_settings":"Ustawienia użytkownika","values":{"false":"nie","true":"tak"},"fun":"Zabawa","greentext":"Memiczne strzałki","notifications":"Powiadomienia","notification_mutes":"By przestać otrzymywać powiadomienia od jednego użytkownika, wycisz go.","notification_blocks":"Blokowanie uzytkownika zatrzymuje wszystkie powiadomienia i odsubskrybowuje go.","enable_web_push_notifications":"Włącz powiadomienia push","style":{"switcher":{"keep_color":"Zachowaj kolory","keep_shadows":"Zachowaj cienie","keep_opacity":"Zachowaj widoczność","keep_roundness":"Zachowaj zaokrąglenie","keep_fonts":"Zachowaj czcionki","save_load_hint":"Opcje „zachowaj” pozwalają na pozostanie przy obecnych opcjach po wybraniu lub załadowaniu motywu, jak i przechowywanie ich podczas eksportowania motywu. Jeżeli wszystkie opcje są odznaczone, eksportowanie motywu spowoduje zapisanie wszystkiego.","reset":"Wyzeruj","clear_all":"Wyczyść wszystko","clear_opacity":"Wyczyść widoczność","load_theme":"Załaduj motyw","keep_as_is":"Zostaw po staremu","use_snapshot":"Stara wersja","use_source":"Nowa wersja","help":{"upgraded_from_v2":"PleromaFE zostało zaaktualizowane, motyw może wyglądać nieco inaczej niż zapamiętałeś(-aś).","v2_imported":"Plik który zaimportowałeś(-aś) został stworzony dla starszego FE. Próbujemy zwiększyć kompatybilność, lecz wciąż mogą występować rozbieżności.","future_version_imported":"Plik który zaimportowałeś(-aś) został stworzony w nowszej wersji FE.","older_version_imported":"Plik który zaimportowałeś(-aś) został stworzony w starszej wersji FE.","snapshot_present":"Migawka motywu jest załadowana, więc wszystkie wartości zostały nadpisane. Zamiast tego możesz załadować właściwe dane motywu.","snapshot_missing":"Nie znaleziono migawki motywu w pliku, więc motyw może wyglądać inaczej niż pierwotnie zaplanowano.","fe_upgraded":"Silnik motywów PleromaFE został zaaktualizowany.","fe_downgraded":"Wersja PleromaFE została cofnięta.","migration_snapshot_ok":"Żeby być bezpiecznym, migawka motywu została załadowana. Możesz spróbować załadować dane motywu.","migration_napshot_gone":"Z jakiegoś powodu migawka zniknęła, niektóre rzeczy mogą wyglądać inaczej niż zapamiętałeś(-aś).","snapshot_source_mismatch":"Konflikt wersji: najprawdopodobniej FE zostało cofnięte do poprzedniej wersji i zaktualizowane ponownie, jeśli zmieniłeś(-aś) motyw używając starszej wersji FE, najprawdopodobniej chcesz używać starszej wersji, w przeciwnym razie użyj nowej wersji."}},"common":{"color":"Kolor","opacity":"Widoczność","contrast":{"hint":"Współczynnik kontrastu wynosi {ratio}, {level} {context}","level":{"aa":"spełnia wymogi poziomu AA (minimalne)","aaa":"spełnia wymogi poziomu AAA (zalecane)","bad":"nie spełnia żadnych wymogów dostępności"},"context":{"18pt":"dla dużego tekstu (18pt+)","text":"dla tekstu"}}},"common_colors":{"_tab_label":"Ogólne","main":"Ogólne kolory","foreground_hint":"Zajrzyj do karty „Zaawansowane”, aby uzyskać dokładniejszą kontrolę","rgbo":"Ikony, wyróżnienia, odznaki"},"advanced_colors":{"_tab_label":"Zaawansowane","alert":"Tło alertu","alert_error":"Błąd","alert_warning":"Ostrzeżenie","alert_neutral":"Neutralne","post":"Posty/Bio użytkowników","badge":"Tło odznaki","popover":"Etykiety, menu, popovery","badge_notification":"Powiadomienie","panel_header":"Nagłówek panelu","top_bar":"Górny pasek","borders":"Granice","buttons":"Przyciski","inputs":"Pola wejścia","faint_text":"Zanikający tekst","underlay":"Podkład","poll":"Wykres ankiety","icons":"Ikony","highlight":"Podświetlone elementy","pressed":"Naciśnięte","selectedPost":"Wybrany post","selectedMenu":"Wybrany element menu","disabled":"Wyłączone","toggled":"Przełączone","tabs":"Karty","chat":{"outgoing":"Wiadomości wychodzące","incoming":"Wiadomości przychodzące","border":"Granica"},"wallpaper":"Tło"},"radii":{"_tab_label":"Zaokrąglenie"},"shadows":{"_tab_label":"Cień i podświetlenie","component":"Komponent","override":"Zastąp","shadow_id":"Cień #{value}","blur":"Rozmycie","spread":"Szerokość","inset":"Inset","hintV3":"Dla cieni możesz również użyć notacji {0} by użyć inny slot koloru.","filter_hint":{"always_drop_shadow":"Ostrzeżenie, ten cień zawsze używa {0} jeżeli to obsługiwane przez przeglądarkę.","drop_shadow_syntax":"{0} nie obsługuje parametru {1} i słowa kluczowego {2}.","avatar_inset":"Pamiętaj że użycie jednocześnie cieni inset i nie inset na awatarach może dać nieoczekiwane wyniki z przezroczystymi awatarami.","spread_zero":"Cienie o ujemnej szerokości będą widoczne tak, jakby wynosiła ona zero","inset_classic":"Cienie inset będą używały {0}"},"components":{"panel":"Panel","panelHeader":"Nagłówek panelu","topBar":"Górny pasek","avatar":"Awatar użytkownika (w widoku profilu)","avatarStatus":"Awatar użytkownika (w widoku wpisu)","popup":"Wyskakujące okna i podpowiedzi","button":"Przycisk","buttonHover":"Przycisk (po najechaniu)","buttonPressed":"Przycisk (naciśnięty)","buttonPressedHover":"Przycisk(naciśnięty+najechany)","input":"Pole wejścia"}},"fonts":{"_tab_label":"Czcionki","help":"Wybierz czcionkę używaną przez elementy UI. Jeżeli wybierzesz niestandardową, musisz wpisać dokładnie tę nazwę, pod którą pojawia się w systemie.","components":{"interface":"Interfejs","input":"Pola wejścia","post":"Tekst postu","postCode":"Tekst o stałej szerokości znaków w sformatowanym poście"},"family":"Nazwa czcionki","size":"Rozmiar (w pikselach)","weight":"Grubość","custom":"Niestandardowa"},"preview":{"header":"Podgląd","content":"Zawartość","error":"Przykładowy błąd","button":"Przycisk","text":"Trochę więcej {0} i {1}","mono":"treści","input":"Właśnie wróciłem z kościoła","faint_link":"pomocny podręcznik","fine_print":"Przeczytaj nasz {0}, aby nie nauczyć się niczego przydatnego!","header_faint":"W porządku","checkbox":"Przeleciałem(-am) przez zasady użytkowania","link":"i fajny mały odnośnik"}},"version":{"title":"Wersja","backend_version":"Wersja back-endu","frontend_version":"Wersja front-endu"},"notification_setting_privacy":"Prywatność","notification_setting_filters":"Filtry","notification_setting_privacy_option":"Ukryj nadawcę i zawartość powiadomień push","reset_avatar":"Zresetuj awatar","profile_fields":{"value":"Zawartość","label":"Metadane profilu","name":"Nazwa","add_field":"Dodaj pole"},"bot":"To konto jest prowadzone przez bota","notification_setting_hide_notification_contents":"Ukryj nadawcę i zawartość powiadomień push","notification_setting_block_from_strangers":"Zablokuj powiadomienia od użytkowników których nie obserwujesz","virtual_scrolling":"Optymalizuj renderowanie osi czasu","reset_background_confirm":"Czy naprawdę chcesz zresetować tło?","reset_banner_confirm":"Czy naprawdę chcesz zresetować banner?","reset_avatar_confirm":"Czy naprawdę chcesz zresetować awatar?","reset_profile_banner":"Zresetuj banner profilowy","reset_profile_background":"Zresetuj tło profilowe","mutes_and_blocks":"Wyciszenia i blokady","chatMessageRadius":"Wiadomość czatu","import_mutes_from_a_csv_file":"Zaimportuj wyciszenia z pliku .csv","mutes_imported":"Zaimportowano wyciszenia! Przetwarzanie zajmie chwilę.","mute_import_error":"Wystąpił błąd podczas importowania wyciszeń","mute_import":"Import wyciszeń","mute_export_button":"Wyeksportuj swoje wyciszenia do pliku .csv","mute_export":"Eksport wyciszeń","hide_wallpaper":"Ukryj tło instancji","save":"Zapisz zmiany","setting_changed":"Opcja różni się od domyślnej","right_sidebar":"Pokaż pasek boczny po prawej","file_export_import":{"errors":{"invalid_file":"Wybrany plik nie jest obsługiwaną kopią zapasową ustawień Pleromy. Nie dokonano żadnych zmian."},"backup_restore":"Kopia zapasowa ustawień","backup_settings":"Kopia zapasowa ustawień do pliku","backup_settings_theme":"Kopia zapasowa ustawień i motywu do pliku","restore_settings":"Przywróć ustawienia z pliku"},"more_settings":"Więcej ustawień","word_filter":"Filtr słów","hide_media_previews":"Ukryj podgląd mediów","hide_all_muted_posts":"Ukryj wyciszone słowa","reply_visibility_following_short":"Pokazuj odpowiedzi obserwującym","reply_visibility_self_short":"Pokazuj odpowiedzi tylko do mnie","sensitive_by_default":"Domyślnie oznaczaj wpisy jako wrażliwe","hide_shoutbox":"Ukryj shoutbox instancji"},"time":{"day":"{0} dzień","days":"{0} dni","day_short":"{0} d","days_short":"{0} d","hour":"{0} godzina","hours":"{0} godzin","hour_short":"{0} godz.","hours_short":"{0} godz.","in_future":"za {0}","in_past":"{0} temu","minute":"{0} minuta","minutes":"{0} minut","minute_short":"{0} min","minutes_short":"{0} min","month":"{0} miesiąc","months":"{0} miesięcy","month_short":"{0} mies.","months_short":"{0} mies.","now":"teraz","now_short":"teraz","second":"{0} sekunda","seconds":"{0} sekund","second_short":"{0} s","seconds_short":"{0} s","week":"{0} tydzień","weeks":"{0} tygodni","week_short":"{0} tydz.","weeks_short":"{0} tyg.","year":"{0} rok","years":"{0} lata","year_short":"{0} r.","years_short":"{0} lata"},"timeline":{"collapse":"Zwiń","conversation":"Rozmowa","error_fetching":"Błąd pobierania","load_older":"Załaduj starsze statusy","no_retweet_hint":"Wpis oznaczony jako tylko dla obserwujących lub bezpośredni nie może zostać powtórzony","repeated":"powtórzył(-a)","show_new":"Pokaż nowe","up_to_date":"Na bieżąco","no_more_statuses":"Brak kolejnych statusów","no_statuses":"Brak statusów","reload":"Odśwież","error":"Błąd pobierania osi czasu: {0}","socket_broke":"Utracono połączenie w czasie rzeczywistym: kod CloseEvent {0}","socket_reconnected":"Osiągnięto połączenie w czasie rzeczywistym"},"status":{"favorites":"Ulubione","repeats":"Powtórzenia","delete":"Usuń status","pin":"Przypnij na profilu","unpin":"Odepnij z profilu","pinned":"Przypnięte","delete_confirm":"Czy naprawdę chcesz usunąć ten status?","reply_to":"Odpowiedź dla","replies_list":"Odpowiedzi:","mute_conversation":"Wycisz konwersację","unmute_conversation":"Odcisz konwersację","status_unavailable":"Status niedostępny","copy_link":"Kopiuj link do statusu","unbookmark":"Usuń z zakładek","bookmark":"Dodaj do zakładek","hide_content":"Ukryj zawartość","show_content":"Pokaż zawartość","hide_full_subject":"Ukryj cały temat","show_full_subject":"Pokaż cały temat","thread_muted_and_words":", ma słowa:","thread_muted":"Wątek wyciszony","status_deleted":"Ten wpis został usunięty","expand":"Rozwiń","nsfw":"NSFW","external_source":"Zewnętrzne źródło"},"user_card":{"approve":"Przyjmij","block":"Zablokuj","blocked":"Zablokowany!","deny":"Odrzuć","favorites":"Ulubione","follow":"Obserwuj","follow_sent":"Wysłano prośbę!","follow_progress":"Wysyłam prośbę…","follow_unfollow":"Przestań obserwować","followees":"Obserwowani","followers":"Obserwujący","following":"Obserwowany!","follows_you":"Obserwuje cię!","hidden":"Ukryte","its_you":"To ty!","media":"Media","mention":"Wspomnienie","mute":"Wycisz","muted":"Wyciszony(-a)","per_day":"dziennie","remote_follow":"Zdalna obserwacja","report":"Zgłoś","statuses":"Statusy","subscribe":"Subskrybuj","unsubscribe":"Odsubskrybuj","unblock":"Odblokuj","unblock_progress":"Odblokowuję…","block_progress":"Blokuję…","unmute":"Cofnij wyciszenie","unmute_progress":"Cofam wyciszenie…","mute_progress":"Wyciszam…","hide_repeats":"Ukryj powtórzenia","show_repeats":"Pokaż powtórzenia","admin_menu":{"moderation":"Moderacja","grant_admin":"Przyznaj admina","revoke_admin":"Odwołaj admina","grant_moderator":"Przyznaj moderatora","revoke_moderator":"Odwołaj moderatora","activate_account":"Aktywuj konto","deactivate_account":"Dezaktywuj konto","delete_account":"Usuń konto","force_nsfw":"Oznacz wszystkie posty jako NSFW","strip_media":"Usuń multimedia z postów","force_unlisted":"Wymuś posty na niepubliczne","sandbox":"Wymuś by posty były tylko dla obserwujących","disable_remote_subscription":"Zakaż obserwowania użytkownika ze zdalnych instancji","disable_any_subscription":"Zakaż całkowicie obserwowania użytkownika","quarantine":"Zakaż federowania postów od tego użytkownika","delete_user":"Usuń użytkownika","delete_user_confirmation":"Czy jesteś absolutnie pewny(-a)? Ta operacja nie może być cofnięta."},"message":"Napisz","edit_profile":"Edytuj profil","highlight":{"disabled":"Bez wyróżnienia"},"bot":"Bot"},"user_profile":{"timeline_title":"Oś czasu użytkownika","profile_does_not_exist":"Przepraszamy, ten profil nie istnieje.","profile_loading_error":"Przepraszamy, wystąpił błąd podczas ładowania tego profilu."},"user_reporting":{"title":"Raportowanie {0}","add_comment_description":"Zgłoszenie zostanie wysłane do moderatorów instancji. Możesz dodać powód dlaczego zgłaszasz owe konto poniżej:","additional_comments":"Dodatkowe komentarze","forward_description":"To konto jest z innego serwera. Wysłać również tam kopię zgłoszenia?","forward_to":"Przekaż do {0}","submit":"Wyślij","generic_error":"Wystąpił błąd podczas przetwarzania twojej prośby."},"who_to_follow":{"more":"Więcej","who_to_follow":"Propozycje obserwacji"},"tool_tip":{"media_upload":"Wyślij media","repeat":"Powtórz","reply":"Odpowiedz","favorite":"Dodaj do ulubionych","add_reaction":"Dodaj reakcję","user_settings":"Ustawienia użytkownika","accept_follow_request":"Akceptuj prośbę o możliwość obserwacji","reject_follow_request":"Odrzuć prośbę o możliwość obserwacji","bookmark":"Zakładka"},"upload":{"error":{"base":"Wysyłanie nie powiodło się.","file_too_big":"Zbyt duży plik [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","default":"Spróbuj ponownie później","message":"Błąd wysyłania: {0}"},"file_size_units":{"B":"B","KiB":"KiB","MiB":"MiB","GiB":"GiB","TiB":"TiB"}},"search":{"people":"Ludzie","hashtags":"Hasztagi","person_talking":"{count} osoba rozmawia o tym","people_talking":"{count} osób rozmawia o tym","no_results":"Brak wyników"},"password_reset":{"forgot_password":"Zapomniałeś(-aś) hasła?","password_reset":"Reset hasła","instruction":"Wprowadź swój adres email lub nazwę użytkownika. Wyślemy ci link z którym możesz zresetować hasło.","placeholder":"Twój email lub nazwa użytkownika","check_email":"Sprawdź pocztę, aby uzyskać link do zresetowania hasła.","return_home":"Wróć do strony głównej","too_many_requests":"Przekroczyłeś(-aś) limit prób, spróbuj ponownie później.","password_reset_disabled":"Resetowanie hasła jest wyłączone. Proszę skontaktuj się z administratorem tej instancji.","password_reset_required":"Musisz zresetować hasło, by się zalogować.","password_reset_required_but_mailer_is_disabled":"Musisz zresetować hasło, ale resetowanie hasła jest wyłączone. Proszę skontaktuj się z administratorem tej instancji."},"file_type":{"file":"Plik","image":"Zdjęcie","video":"Wideo","audio":"Audio"},"chats":{"more":"Więcej","delete":"Usuń","you":"Ty:","delete_confirm":"Czy na pewno chcesz usunąć tą wiadomość?","message_user":"Napisz do {nickname}","error_sending_message":"Coś poszło nie tak podczas wysyłania wiadomości.","error_loading_chat":"Coś poszło nie tak podczas ładowania czatu.","empty_message_error":"Nie można wysłać pustej wiadomości","new":"Nowy czat","empty_chat_list_placeholder":"Nie masz jeszcze żadnych czatów. Zacznij nowy czat!","chats":"Czaty"},"display_date":{"today":"Dzisiaj"},"shoutbox":{"title":"Shoutbox"},"errors":{"storage_unavailable":"Pleroma nie mogła uzyskać dostępu do pamięci masowej przeglądarki. Twój login lub lokalne ustawienia nie zostaną zapisane i możesz napotkać problemy. Spróbuj włączyć ciasteczka."}}')}}]); +//# sourceMappingURL=25.8185e4d775cea9fe47e1.js.map \ No newline at end of file diff --git a/priv/static/static/js/25.8185e4d775cea9fe47e1.js.map b/priv/static/static/js/25.8185e4d775cea9fe47e1.js.map new file mode 100644 index 000000000..d559ea56b --- /dev/null +++ b/priv/static/static/js/25.8185e4d775cea9fe47e1.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/25.8185e4d775cea9fe47e1.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/26.bd86a0d958de2bb3905a.js b/priv/static/static/js/26.34ec129dd8f860ce4a8e.js similarity index 73% rename from priv/static/static/js/26.bd86a0d958de2bb3905a.js rename to priv/static/static/js/26.34ec129dd8f860ce4a8e.js index 64c5db6ed..797021577 100644 --- a/priv/static/static/js/26.bd86a0d958de2bb3905a.js +++ b/priv/static/static/js/26.34ec129dd8f860ce4a8e.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{606:function(e){e.exports=JSON.parse('{"chat":{"title":"Chat"},"features_panel":{"chat":"Chat","gopher":"Gopher","media_proxy":"Proxy de multimédia","scope_options":"Opções de privacidade","text_limit":"Limite de caracteres","title":"Características","who_to_follow":"Quem seguir","upload_limit":"Limite de carregamento","pleroma_chat_messages":"Chat do Pleroma"},"finder":{"error_fetching_user":"Erro ao pesquisar utilizador","find_user":"Pesquisar utilizador"},"general":{"apply":"Aplicar","submit":"Enviar","more":"Mais","generic_error":"Ocorreu um erro","optional":"opcional","peek":"Espreitar","close":"Fechar","verify":"Verificar","confirm":"Confirmar","enable":"Ativar","disable":"Desativar","cancel":"Cancelar","show_less":"Mostrar menos","show_more":"Mostrar mais","retry":"Tenta novamente","error_retry":"Por favor, tenta novamente","loading":"A carregar…","dismiss":"Ignorar","role":{"moderator":"Moderador","admin":"Admin"}},"image_cropper":{"crop_picture":"Cortar imagem","save":"Guardar","cancel":"Cancelar","save_without_cropping":"Guardar sem recortar"},"login":{"login":"Iniciar Sessão","description":"Iniciar sessão com OAuth","logout":"Terminar sessão","password":"Palavra-passe","placeholder":"ex. lain","register":"Registar","username":"Nome de Utilizador","hint":"Entra para participar na discussão","heading":{"totp":"Autenticação de dois fatores","recovery":"Recuperação de dois fatores"},"recovery_code":"Código de recuperação","authentication_code":"Código de autenticação","enter_two_factor_code":"Introduza o código de dois fatores","enter_recovery_code":"Introduza um código de recuperação"},"media_modal":{"previous":"Anterior","next":"Próximo"},"nav":{"about":"Sobre","back":"Voltar","chat":"Chat local","friend_requests":"Pedidos de seguidores","mentions":"Menções","dms":"Mensagens Diretas","public_tl":"Cronologia Pública","timeline":"Cronologia","twkn":"Rede conhecida","user_search":"Pesquisa por Utilizadores","who_to_follow":"Quem seguir","preferences":"Preferências","search":"Pesquisar","interactions":"Interações","administration":"Administração","chats":"Salas de Chat","timelines":"Cronologias","bookmarks":"Itens Guardados"},"notifications":{"broken_favorite":"Publicação desconhecida, a procurar…","favorited_you":"gostou do teu post","followed_you":"seguiu-te","load_older":"Carregar notificações antigas","notifications":"Notificações","read":"Lido!","repeated_you":"partilhou o teu post","no_more_notifications":"Sem mais notificações","reacted_with":"reagiu com {0}","migrated_to":"migrou para","follow_request":"quer seguir-te","error":"Erro ao obter notificações: {0}"},"post_status":{"new_status":"Publicar nova publicação","account_not_locked_warning":"A sua conta não é {0}. Qualquer pessoa pode seguir-te e ver os seus posts privados (só para seguidores).","account_not_locked_warning_link":"restrito","attachments_sensitive":"Marcar anexos como sensíveis","content_type":{"text/plain":"Texto puro","text/bbcode":"BBCode","text/html":"HTML","text/markdown":"Remarcação"},"content_warning":"Assunto (opcional)","default":"Acabei de chegar a Lisboa.","direct_warning":"Este post será visível apenas para os usuários mencionados.","posting":"A publicar","scope":{"direct":"Direto - Enviar somente aos usuários mencionados","private":"Apenas para seguidores - Enviar apenas para seguidores","public":"Público - Publicar em cronologias públicas","unlisted":"Não listado - Não exibir em cronologias públicas"},"scope_notice":{"unlisted":"Esta publicação não será visível na Cronologia pública e na Rede conhecida por todos","private":"Esta publicação será apenas visível para os teus seguidores","public":"Esta publicação será visível para todos"},"empty_status_error":"Não consegues publicar um post vazio e sem ficheiros","preview_empty":"Vazio","preview":"Pré-visualização","media_description":"Descrição da multimédia","media_description_error":"Falha ao atualizar ficheiro, tente novamente","direct_warning_to_first_only":"Esta publicação só será visível para os utilizadores mencionados no início da mensagem.","direct_warning_to_all":"Esta publicação será visível para todos os utilizadores mencionados."},"registration":{"bio":"Biografia","email":"Endereço de e-mail","fullname":"Nome para exibição","password_confirm":"Confirmação de palavra-passe","registration":"Registo","token":"Código do convite","captcha":"CAPTCHA","new_captcha":"Clique na imagem para carregar um novo captcha","username_placeholder":"ex. lain","fullname_placeholder":"ex. Lain Iwakura","bio_placeholder":"ex.\\nOlá, sou a Lain\\nSou uma menina de anime que vive no Japão suburbano. Devem conhecer-me do \\"the Wired\\".","validations":{"username_required":"não pode ser deixado em branco","fullname_required":"não pode ser deixado em branco","email_required":"não pode ser deixado em branco","password_required":"não pode ser deixado em branco","password_confirmation_required":"não pode ser deixado em branco","password_confirmation_match":"deve corresponder à palavra-passe"}},"settings":{"app_name":"Nome da aplicação","attachmentRadius":"Anexos","attachments":"Anexos","avatar":"Avatar","avatarAltRadius":"Avatares (Notificações)","avatarRadius":"Avatares","background":"Imagem de Fundo","bio":"Biografia","blocks_tab":"Bloqueios","btnRadius":"Botões","cBlue":"Azul (Responder, seguir)","cGreen":"Verde (Partilhar)","cOrange":"Laranja (Favoritar)","cRed":"Vermelho (Cancelar)","change_password":"Mudar palavra-passe","change_password_error":"Ocorreu um erro ao modificar a sua palavra-passe.","changed_password":"Palavra-passe modificada com sucesso!","collapse_subject":"Esconder posts com assunto","composing":"Escrita","confirm_new_password":"Confirmar nova palavra-passe","current_avatar":"Seu avatar atual","current_password":"Palavra-passe atual","current_profile_banner":"Sua capa de perfil atual","data_import_export_tab":"Importação/exportação de dados","default_vis":"Opção de privacidade padrão","delete_account":"Eliminar conta","delete_account_description":"Apagar os seus dados permanentemente e desativar a sua conta.","delete_account_error":"Ocorreu um erro ao remover a sua conta. Se este persistir, por favor entre em contato com o/a administrador/a da instância.","delete_account_instructions":"Escreva a sua palavra-passe no campo abaixo para confirmar a remoção da conta.","avatar_size_instruction":"O tamanho mínimo recomendado para imagens de avatar é 150x150 pixels.","export_theme":"Guardar predefinições","filtering":"Filtragem","filtering_explanation":"Todas as publicações que contenham estas palavras serão silenciadas; uma palavra por linha","follow_export":"Exportar quem você segue","follow_export_button":"Exportar quem você segue para um arquivo CSV","follow_export_processing":"Processando. Em breve você receberá a solicitação de download do arquivo","follow_import":"Importar quem você segue","follow_import_error":"Erro ao importar seguidores","follows_imported":"Seguidores importados! O processamento pode demorar um pouco.","foreground":"Primeiro Plano","general":"Geral","hide_attachments_in_convo":"Ocultar anexos em conversas","hide_attachments_in_tl":"Ocultar anexos na cronologia","max_thumbnails":"Número máximo de miniaturas por post","hide_isp":"Esconder painel específico da instância","preload_images":"Pré-carregar imagens","use_one_click_nsfw":"Abrir anexos sensíveis com um clique","hide_post_stats":"Esconder estatísticas de posts (p. ex. número de favoritos)","hide_user_stats":"Esconder estatísticas do usuário (p. ex. número de seguidores)","hide_filtered_statuses":"Esconder posts filtrados","import_followers_from_a_csv_file":"Importe seguidores a partir de um arquivo CSV","import_theme":"Carregar pré-definição","inputRadius":"Campos de entrada","checkboxRadius":"Caixas de seleção","instance_default":"(padrão: {value})","instance_default_simple":"(padrão)","interface":"Interface","interfaceLanguage":"Idioma da interface","invalid_theme_imported":"O arquivo selecionado não é um tema compatível com o Pleroma. Nenhuma mudança no tema foi feita.","limited_availability":"Indisponível para seu navegador","links":"Links","lock_account_description":"Restringir sua conta a seguidores aprovados","loop_video":"Repetir vídeos","loop_video_silent_only":"Repetir apenas vídeos sem som (como os \\"gifs\\" do Mastodon)","mutes_tab":"Silenciados","play_videos_in_modal":"Reproduzir vídeos diretamente no visualizador de multimédia","use_contain_fit":"Não cortar o anexo na miniatura","name":"Nome","name_bio":"Nome & Biografia","new_password":"Nova palavra-passe","notification_visibility":"Tipos de notificação para mostrar","notification_visibility_follows":"Seguidas","notification_visibility_likes":"Favoritos","notification_visibility_mentions":"Menções","notification_visibility_repeats":"Partilhas","no_rich_text_description":"Remover formatação de todos os posts","no_blocks":"Sem bloqueios","no_mutes":"Sem silenciados","hide_follows_description":"Não mostrar quem estou seguindo","hide_followers_description":"Não mostrar quem me segue","show_admin_badge":"Mostrar título de Administrador em meu perfil","show_moderator_badge":"Mostrar título de Moderador em meu perfil","nsfw_clickthrough":"Ativar clique em anexos e pré-visualizações de links para ocultar anexos NSFW","oauth_tokens":"Token OAuth","token":"Token","refresh_token":"Atualizar Token","valid_until":"Válido até","revoke_token":"Revogar","panelRadius":"Paineis","pause_on_unfocused":"Parar transmissão quando a aba não estiver em primeiro plano","presets":"Predefinições","profile_background":"Pano de fundo de perfil","profile_banner":"Capa de perfil","profile_tab":"Perfil","radii_help":"Arredondar arestas da interface (em pixel)","replies_in_timeline":"Respostas na cronologia","reply_visibility_all":"Mostrar todas as respostas","reply_visibility_following":"Só mostrar respostas direcionadas a mim ou a usuários que sigo","reply_visibility_self":"Só mostrar respostas direcionadas a mim","saving_err":"Erro ao salvar configurações","saving_ok":"Configurações salvas","security_tab":"Segurança","scope_copy":"Copiar opções de privacidade ao responder (Mensagens diretas sempre copiam)","set_new_avatar":"Alterar avatar","set_new_profile_background":"Alterar o pano de fundo de perfil","set_new_profile_banner":"Alterar capa de perfil","settings":"Configurações","subject_input_always_show":"Sempre mostrar campo de assunto","subject_line_behavior":"Copiar assunto ao responder","subject_line_email":"Como num e-mail: \\"re: assunto\\"","subject_line_mastodon":"Como o Mastodon: copiar como está","subject_line_noop":"Não copiar","post_status_content_type":"Tipo de conteúdo do status","stop_gifs":"Reproduzir GIFs ao passar o cursor","streaming":"Habilitar o fluxo automático de postagens no topo da página","text":"Texto","theme":"Tema","theme_help":"Use cores em código hexadecimal (#rrggbb) para personalizar seu esquema de cores.","theme_help_v2_1":"Você também pode sobrescrever as cores e opacidade de alguns componentes ao modificar o checkbox, use \\"Limpar todos\\" para limpar todas as modificações.","theme_help_v2_2":"Alguns ícones em registo são indicadores de fundo/contraste de textos, passe por cima para obter informações detalhadas. Tenha em atenção que os indicadores de contraste não funcionam muito bem com transparência.","tooltipRadius":"Dicas/alertas","upload_a_photo":"Enviar uma foto","user_settings":"Configurações de Usuário","values":{"false":"não","true":"sim"},"notifications":"Notificações","enable_web_push_notifications":"Habilitar notificações web push","style":{"switcher":{"keep_color":"Manter cores","keep_shadows":"Manter sombras","keep_opacity":"Manter opacidade","keep_roundness":"Manter arredondado","keep_fonts":"Manter fontes","save_load_hint":"Manter as opções preserva as opções atuais ao selecionar ou carregar temas; também salva as opções ao exportar um tempo. Quanto todos os campos estiverem desmarcados, tudo será salvo ao exportar o tema.","reset":"Restaurar o padrão","clear_all":"Limpar tudo","clear_opacity":"Limpar opacidade","help":{"upgraded_from_v2":"O PleromaFE foi atualizado, a aparência do tema poderá ser um pouco diferente.","snapshot_source_mismatch":"Conflito de versões: o mais provável é que o FE tenha revertido e voltado a atualizar, foi alterado o tema numa versão anterior do FE, o mais provável é desejar utilizar a versão anterior; caso contrário, utilize a nova versão.","migration_napshot_gone":"Por algum motivo, a pré-visualização estava em falta, algumas coisas poderão parecer diferentes do que se lembra.","migration_snapshot_ok":"Para estar seguro, foi carregada uma versão de pré-visualização do tema. Pode tentar carregar dados do tema.","fe_downgraded":"Versão do PleromaFE revertida.","fe_upgraded":"O criador de temas do PleromaFE foi atualizado depois da atualização da versão.","snapshot_missing":"Não existia nenhuma pré-visualização do tema no ficheiro, então pode parecer diferente do previsto originalmente.","snapshot_present":"Foi carregada uma pré-visualização do tema, todos os valores são substituídos. Caso contrário, pode carregar o tema completo.","older_version_imported":"O ficheiro que importaste foi criado numa versão antiga do FE.","future_version_imported":"O ficheiro que importaste foi criado para uma versão mais recente do FE.","v2_imported":"O ficheiro que importaste foi feito para uma versão antiga do FE. Tentamos maximizar a compatibilidade, porém, poderão existir incongruências."},"use_source":"Nova versão","use_snapshot":"Versão antiga","keep_as_is":"Manter como está","load_theme":"Carregar tema"},"common":{"color":"Cor","opacity":"Opacidade","contrast":{"hint":"A taxa de contraste é {ratio}, {level} {context}","level":{"aa":"padrão Nível AA (mínimo)","aaa":"padrão Nível AAA (recomendado)","bad":"nenhum padrão de acessibilidade"},"context":{"18pt":"para textos longos (18pt+)","text":"para texto"}}},"common_colors":{"_tab_label":"Comum","main":"Cores Comuns","foreground_hint":"Configurações mais detalhadas na aba\\"Avançado\\"","rgbo":"Ícones, acentuação, distintivos"},"advanced_colors":{"_tab_label":"Avançado","alert":"Fundo de alerta","alert_error":"Erro","badge":"Fundo do distintivo","badge_notification":"Notificação","panel_header":"Topo do painel","top_bar":"Barra do topo","borders":"Bordas","buttons":"Botões","inputs":"Caixas de entrada","faint_text":"Texto esmaecido","chat":{"border":"Borda","outgoing":"Enviadas","incoming":"Recebidas"},"tabs":"Abas","toggled":"Alternado","disabled":"Desativado","selectedMenu":"Elemento do menu seleccionado","selectedPost":"Publicação seleccionada","pressed":"Pressionado","highlight":"Elementos destacados","icons":"Ícones","poll":"Gráfico da sondagem","wallpaper":"Fundo de ecrã","underlay":"Sublinhado","popover":"Sugestões, menus, etiquetas","post":"Publicações/Bios","alert_neutral":"Neutro","alert_warning":"Precaução"},"radii":{"_tab_label":"Arredondado"},"shadows":{"_tab_label":"Luz e sombra","component":"Componente","override":"Sobrescrever","shadow_id":"Sombra #{value}","blur":"Borrado","spread":"Difusão","inset":"Inserção","hint":"Para as sombras você também pode usar --variável como valor de cor para utilizar variáveis do CSS3. Tenha em mente que configurar a opacidade não será possível neste caso.","filter_hint":{"always_drop_shadow":"Atenção, esta sombra sempre utiliza {0} quando compatível com o navegador.","drop_shadow_syntax":"{0} não é compatível com o parâmetro {1} e a palavra-chave {2}.","avatar_inset":"Tenha em mente que combinar as sombras de inserção e a não-inserção em avatares pode causar resultados inesperados em avatares transparentes.","spread_zero":"Sombras com difusão > 0 aparecerão como se fossem definidas como zero","inset_classic":"Sombras de inserção utilizarão {0}"},"components":{"panel":"Painel","panelHeader":"Topo do painel","topBar":"Barra do topo","avatar":"Avatar do usuário (na visualização do perfil)","avatarStatus":"Avatar do usuário (na exibição de posts)","popup":"Dicas e notificações","button":"Botão","buttonHover":"Botão (em cima)","buttonPressed":"Botão (pressionado)","buttonPressedHover":"Botão (pressionado+em cima)","input":"Campo de entrada"},"hintV3":"Para as sombras, também pode usar a notação {0} para usar outro espaço de cor."},"fonts":{"_tab_label":"Fontes","help":"Selecione as fontes dos elementos da interface. Para fonte \\"personalizada\\" você deve inserir o mesmo nome da fonte no sistema.","components":{"interface":"Interface","input":"Campo de entrada","post":"Postar texto","postCode":"Texto monoespaçado em post (formatação rica)"},"family":"Nome da fonte","size":"Tamanho (em px)","weight":"Peso","custom":"Personalizada"},"preview":{"header":"Pré-visualizar","content":"Conteúdo","error":"Erro de exemplo","button":"Botão","text":"Vários {0} e {1}","mono":"conteúdo","input":"Acabei de chegar a Lisboa.","faint_link":"manual útil","fine_print":"Leia nosso {0} para não aprender nada!","header_faint":"Isto está bem","checkbox":"Li os termos e condições","link":"um belo link"}},"mfa":{"scan":{"secret_code":"Chave","title":"Scan","desc":"Utilizando a sua aplicação de dois fatores, faça scan deste código QR ou insira a chave de texto:"},"authentication_methods":"Métodos de autenticação","recovery_codes":"Códigos de recuperação.","generate_new_recovery_codes":"Gerar novos códigos de recuperação","confirm_and_enable":"Confirmar e ativar a palavra-passe de utilização única","otp":"Palavra-passe de utilização única","verify":{"desc":"Para ativar a autenticação de dois fatores, introduza o código da sua aplicação de dois fatores:"},"recovery_codes_warning":"Anote os códigos ou armazene-os num lugar seguro - caso contrário, não os voltará a ver. Se perder acesso à sua aplicação de dois fatores e aos códigos de recuperação, a sua conta ficará bloqueada.","waiting_a_recovery_codes":"A receber códigos de recuperação…","warning_of_generate_new_codes":"Quando gera novos códigos de recuperação, os antigos deixam de funcionar.","title":"Autenticação de Dois Fatores","wait_pre_setup_otp":"pré-configuração de palavra-passe de utilização única","setup_otp":"Configurar palavra-passe de utilização única"},"security":"Segurança","mute_import_error":"Erro ao importar os silenciados","mute_import":"Importar silenciados","mute_export_button":"Exporta os silenciados para um ficheiro csv","mute_export":"Exportar silenciados","blocks_imported":"Lista de utilizadores bloqueados importada! O processo pode demorar alguns instantes.","block_import_error":"Erro ao importar a lista de utilizadores bloqueados","block_import":"Importar utilizadores bloqueados","block_export_button":"Exporta a tua lista de utilizadores bloqueados para um ficheiro csv","block_export":"Exportar utilizadores bloqueados","enter_current_password_to_confirm":"Introduza a sua palavra-passe atual para confirmar a sua identidade","mutes_and_blocks":"Silenciados e Bloqueados","chatMessageRadius":"Mensagem de texto","changed_email":"Endereço de e-mail modificado com sucesso!","change_email_error":"Ocorreu um erro ao modificar o seu endereço de e-mail.","change_email":"Mudar Endereço de E-mail","bot":"Esta uma conta robô","import_mutes_from_a_csv_file":"Importar silenciados de um ficheiro csv","mutes_imported":"Silenciados importados! Processá-los pode demorar alguns instantes.","allow_following_move":"Permitir seguimento automático quando a conta for migrada para outra instância","domain_mutes":"Domínios","discoverable":"Permitir a descoberta desta conta em resultados de busca e outros serviços","emoji_reactions_on_timeline":"Mostrar reações de emoji na timeline","hide_muted_posts":"Esconder posts de utilizadores silenciados","hide_follows_count_description":"Não mostrar o número de contas seguidas","hide_followers_count_description":"Não mostrar o número de seguidores","notification_visibility_emoji_reactions":"Reações","new_email":"Novo endereço de e-mail","profile_fields":{"value":"Conteúdo","add_field":"Adicionar campo","label":"Metadados do perfil","name":"Etiqueta"},"import_blocks_from_a_csv_file":"Importar bloqueados a partir de um arquivo CSV","hide_wallpaper":"Esconder papel de parede da instância","notification_setting_privacy":"Privacidade","notification_setting_filters":"Filtros","fun":"Divertido","user_mutes":"Utilizadores","type_domains_to_mute":"Pesquisar domínios para silenciar","useStreamingApiWarning":"(não recomendado, experimental, pode omitir publicações)","useStreamingApi":"Receber publicações e notificações em tempo real","minimal_scopes_mode":"Minimizar as opções de publicação","search_user_to_mute":"Pesquisar utilizadores que pretende silenciar","search_user_to_block":"Pesquisa quais utilizadores desejas bloquear","notification_setting_hide_notification_contents":"Ocultar o remetente e o conteúdo das notificações push","version":{"frontend_version":"Versão do Frontend","backend_version":"Versão do Backend","title":"Versão"},"notification_blocks":"Bloquear um utilizador previne todas as notificações, bem como as desativa.","notification_mutes":"Para deixar de receber notificações de um utilizador específico, silencia-o.","notification_setting_block_from_strangers":"Bloqueia as notificações de utilizadores que não segues","greentext":"Texto verde (meme arrows)","virtual_scrolling":"Otimizar a apresentação da cronologia","reset_background_confirm":"Tens a certeza que desejas redefinir o fundo?","reset_banner_confirm":"Tens a certeza que desejas redefinir a imagem do cabeçalho?","reset_avatar_confirm":"Tens a certeza que desejas redefinir o avatar?","reset_profile_banner":"Redefinir imagem do cabeçalho do perfil","reset_profile_background":"Redefinir fundo de perfil","reset_avatar":"Redefinir avatar","autohide_floating_post_button":"Automaticamente ocultar o botão \'Nova Publicação\' (telemóvel)","notification_visibility_moves":"Utilizador Migrado","accent":"Destaque","pad_emoji":"Preencher espaços ao adicionar emojis do seletor"},"timeline":{"collapse":"Esconder","conversation":"Conversa","error_fetching":"Erro ao buscar atualizações","load_older":"Carregar postagens antigas","no_retweet_hint":"Posts apenas para seguidores ou diretos não podem ser partilhados","repeated":"partilhado","show_new":"Mostrar novas","up_to_date":"Atualizado","no_more_statuses":"Sem mais posts","no_statuses":"Sem posts","reload":"Recarregar","error":"Erro a obter a cronologia: {0}"},"status":{"reply_to":"Responder a","replies_list":"Respostas:","unbookmark":"Remover post dos Items Guardados","expand":"Expandir","nsfw":"NSFW (Não apropriado para trabalho)","status_deleted":"Esta publicação foi apagada","hide_content":"Ocultar o conteúdo","show_content":"Mostrar o conteúdo","hide_full_subject":"Ocultar o assunto completo","show_full_subject":"Mostrar o assunto completo","thread_muted_and_words":", contém:","thread_muted":"Conversação silenciada","external_source":"Fonte externa","copy_link":"Copiar o link do post","status_unavailable":"Publicação indisponível","unmute_conversation":"Mostrar a conversação","mute_conversation":"Silenciar a conversação","delete_confirm":"Tens a certeza que desejas apagar a publicação?","bookmark":"Guardar","pin":"Fixar no perfil","pinned":"Afixado","unpin":"Desafixar do perfil","delete":"Eliminar publicação","repeats":"Partilhados","favorites":"Favoritos"},"user_card":{"approve":"Aprovar","block":"Bloquear","blocked":"Bloqueado!","deny":"Negar","favorites":"Favoritos","follow":"Seguir","follow_sent":"Pedido enviado!","follow_progress":"Enviando…","follow_again":"Enviar solicitação novamente?","follow_unfollow":"Deixar de seguir","followees":"Seguindo","followers":"Seguidores","following":"Seguindo!","follows_you":"Segue você!","its_you":"É você!","media":"Multimédia","mute":"Silenciar","muted":"Silenciado","per_day":"por dia","remote_follow":"Seguir remotamente","statuses":"Postagens","unblock":"Desbloquear","unblock_progress":"A desbloquear…","block_progress":"A bloquear…","unmute":"Retirar silêncio","unmute_progress":"A retirar silêncio…","mute_progress":"A silenciar…","admin_menu":{"delete_user_confirmation":"Tens a certeza? Esta ação não pode ser revertida.","delete_user":"Eliminar utilizador","quarantine":"Não permitir publicações de utilizadores de instâncias remotas","disable_any_subscription":"Não permitir que nenhum utilizador te siga","disable_remote_subscription":"Não permitir seguidores de instâncias remotas","sandbox":"Forçar publicações apenas para seguidores","force_unlisted":"Forçar publicações como não listadas","strip_media":"Eliminar ficheiros multimédia das publicações","force_nsfw":"Marcar todas as publicações como NSFW (não apropriado para o trabalho)","delete_account":"Eliminar Conta","deactivate_account":"Desativar conta","activate_account":"Ativar conta","revoke_moderator":"Revogar permissões de Moderador","grant_moderator":"Conceder permissões de Moderador","revoke_admin":"Revogar permissões de Admin","grant_admin":"Conceder permissões de Admin","moderation":"Moderação"},"show_repeats":"Mostrar partilhas","hide_repeats":"Ocultar partilhas","unsubscribe":"Retirar subscrição","subscribe":"Subscrever","report":"Denunciar","message":"Mensagem","mention":"Mencionar","hidden":"Ocultar"},"user_profile":{"timeline_title":"Cronologia do Utilizador","profile_does_not_exist":"Desculpe, este perfil não existe.","profile_loading_error":"Desculpe, houve um erro ao carregar este perfil."},"who_to_follow":{"more":"Mais","who_to_follow":"Quem seguir"},"tool_tip":{"media_upload":"Envio de multimédia","repeat":"Partilhar","reply":"Responder","favorite":"Favoritar","user_settings":"Configurações do usuário","bookmark":"Guardar","reject_follow_request":"Rejeitar o pedido de seguimento","accept_follow_request":"Aceitar o pedido de seguimento","add_reaction":"Adicionar Reação"},"upload":{"error":{"base":"Falha no envio.","file_too_big":"Arquivo grande demais [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","default":"Tente novamente mais tarde","message":"Falha ao enviar: {0}"},"file_size_units":{"B":"B","KiB":"KiB","MiB":"MiB","GiB":"GiB","TiB":"TiB"}},"about":{"mrf":{"simple":{"quarantine":"Quarentena","reject":"Rejeitar","accept":"Aceitar","media_removal_desc":"Este domínio remove multimédia das publicações dos seguintes domínios:","media_removal":"Remoção de multimédia","ftl_removal_desc":"Este domínio remove os seguintes domínios da cronologia \\"Rede conhecida por todos\\":","quarantine_desc":"Este domínio apenas irá publicar nos seguintes domínios:","reject_desc":"Este domínio não aceitará mensagens dos seguintes domínios:","accept_desc":"Este domínio aceita apenas mensagens dos seguintes domínios:","simple_policies":"Políticas especificas do domínio","media_nsfw":"Forçar definição de multimédia como Sensível","ftl_removal":"Remoção da cronologia da \\"Rede conhecida por todos\\"","media_nsfw_desc":"Este domínio força a multimédia a ser marcada como sensível nos seguintes domínios:"},"keyword":{"replace":"Substituir","reject":"Rejeitar","is_replaced_by":"→","keyword_policies":"Política de Palavras-Chave","ftl_removal":"Remoção da cronologia da \\"Rede conhecida por todos\\""},"federation":"Federação","mrf_policies":"Ativar Políticas MRF","mrf_policies_desc":"Políticas MRF manipulam o comportamento da federação nos domínios. As seguintes políticas estão ativadas:"},"staff":"Staff"},"remote_user_resolver":{"searching_for":"A pesquisar por","error":"Não encontrado.","remote_user_resolver":"Resolução de utilizador remoto"},"emoji":{"unicode":"Emoji Unicode","custom":"Emoji customizado","add_emoji":"Inserir emoji","search_emoji":"Pesquisar por um emoji","emoji":"Emoji","load_all":"A carregar todos os {emojiAmount} emojis","load_all_hint":"Carregado o primeiro emoji {saneAmount}, carregar todos os emojis pode causar problemas de desempenho.","keep_open":"Manter o seletor aberto","stickers":"Autocolantes"},"polls":{"single_choice":"Escolha única","vote":"Vota","votes":"votos","option":"Opção","add_option":"Adicionar Opção","not_enough_options":"Demasiado poucas opções únicas na sondagem","expired":"A sondagem terminou há {0}","expires_in":"A sondagem termina em {0}","expiry":"Tempo para finalizar sondagem","multiple_choices":"Escolha múltipla","type":"Tipo de sondagem","add_poll":"Adicionar Sondagem"},"importer":{"error":"Ocorreu um erro ao importar este ficheiro.","success":"Importado com sucesso.","submit":"Enviar"},"exporter":{"processing":"A processar, brevemente ser-te-á pedido que descarregues o ficheiro","export":"Exportar"},"domain_mute_card":{"mute_progress":"A silenciar…","mute":"Silenciar","unmute":"Remover silêncio","unmute_progress":"A remover o silêncio…"},"selectable_list":{"select_all":"Seleccionar tudo"},"interactions":{"load_older":"Carregar interações mais antigas","follows":"Novos seguidores","favs_repeats":"Gostos e Partilhas","moves":"O utilizador migra"},"errors":{"storage_unavailable":"O Pleroma não conseguiu aceder ao armazenamento do navegador. A sua sessão ou definições locais não serão armazenadas e poderá encontrar problemas inesperados. Tente ativar as cookies."},"shoutbox":{"title":"Chat Geral"},"chats":{"chats":"Chats","empty_chat_list_placeholder":"Não tens conversações ainda. Inicia uma nova conversa!","error_sending_message":"Ocorreu algo de errado ao enviar a mensagem.","error_loading_chat":"Ocorreu algo de errado ao carregar o chat.","delete_confirm":"Desejas realmente apagar esta mensagem?","more":"Mais","empty_message_error":"Não podes publicar uma mensagem vazia","new":"Nova conversação","delete":"Apagar","message_user":"Mensagem de {nickname}","you":"Tu:"},"search":{"hashtags":"Hashtags","no_results":"Sem resultados","person_talking":"{count} pessoa a falar","people_talking":"{0} pessoas a falar","people":"Pessoas"},"display_date":{"today":"Hoje"},"file_type":{"file":"Ficheiro","image":"Imagem","video":"Vídeo","audio":"Áudio"},"password_reset":{"password_reset_required_but_mailer_is_disabled":"Deves repor a tua palavra-passe, porém, a reposição de palavra-passe está desativada. Contacta o administrador da tua instância.","password_reset_required":"Deves repor a tua palavra-passe para iniciar sessão.","password_reset_disabled":"A reposição da palavra-passe foi desativada. Contacta o administrador da tua instância.","too_many_requests":"Alcançaste o limite de tentativas, tenta novamente mais tarde.","return_home":"Voltar à página principal","check_email":"Verifica o teu endereço de e-mail para obter um link para repor a tua palavra-passe.","placeholder":"O teu endereço de e-mail ou nome de utilizador","instruction":"Introduz o teu endereço de e-mail ou nome de utilizador. Enviaremos um link para repores a tua palavra-passe.","password_reset":"Repor palavra-passe","forgot_password":"Esqueceu-se da palavra-passe?"},"user_reporting":{"generic_error":"Ocorreu um erro ao processar o teu pedido.","submit":"Enviar","forward_to":"Encaminhar para {0}","forward_description":"A conta é de outro servidor. Enviar também uma cópia da denúncia à outra instância?","additional_comments":"Comentários adicionais","add_comment_description":"Esta denúncia será enviada aos moderadores desta instância. Podes fornecer uma explicação pela qual te encontras a denunciar esta conta abaixo:","title":"Denunciar {0}"},"time":{"years_short":"{0}a","year_short":"{0}a","years":"{0} anos","year":"{0} ano","weeks_short":"{0}sem","week_short":"{0}sem","weeks":"{0} semanas","week":"{0} semana","seconds_short":"{0}s","second_short":"{0}s","seconds":"{0} segundos","second":"{0} segundo","now":"agora mesmo","now_short":"agora","months_short":"{0}m","month_short":"{0}m","months":"{0} meses","month":"{0} mês","minutes_short":"{0}min","minute_short":"{0}min","minutes":"{0} minutos","minute":"{0} minuto","in_past":"há {0}","in_future":"em {0}","hours_short":"{0}h","hour_short":"{0}h","hours":"{0} horas","hour":"{0} hora","days_short":"{0}d","day_short":"{0}d","days":"{0} dias","day":"{0} dia"}}')}}]); -//# sourceMappingURL=26.bd86a0d958de2bb3905a.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[26],{619:function(e){e.exports=JSON.parse('{"chat":{"title":"Chat"},"features_panel":{"chat":"Chat","gopher":"Gopher","media_proxy":"Proxy de multimédia","scope_options":"Opções de privacidade","text_limit":"Limite de caracteres","title":"Características","who_to_follow":"Quem seguir","upload_limit":"Limite de carregamento","pleroma_chat_messages":"Chat do Pleroma"},"finder":{"error_fetching_user":"Erro ao pesquisar utilizador","find_user":"Pesquisar utilizador"},"general":{"apply":"Aplicar","submit":"Enviar","more":"Mais","generic_error":"Ocorreu um erro","optional":"opcional","peek":"Espreitar","close":"Fechar","verify":"Verificar","confirm":"Confirmar","enable":"Ativar","disable":"Desativar","cancel":"Cancelar","show_less":"Mostrar menos","show_more":"Mostrar mais","retry":"Tenta novamente","error_retry":"Por favor, tenta novamente","loading":"A carregar…","dismiss":"Ignorar","role":{"moderator":"Moderador","admin":"Admin"}},"image_cropper":{"crop_picture":"Cortar imagem","save":"Guardar","cancel":"Cancelar","save_without_cropping":"Guardar sem recortar"},"login":{"login":"Iniciar Sessão","description":"Iniciar sessão com OAuth","logout":"Terminar sessão","password":"Palavra-passe","placeholder":"ex. lain","register":"Registar","username":"Nome de Utilizador","hint":"Entra para participar na discussão","heading":{"totp":"Autenticação de dois fatores","recovery":"Recuperação de dois fatores"},"recovery_code":"Código de recuperação","authentication_code":"Código de autenticação","enter_two_factor_code":"Introduza o código de dois fatores","enter_recovery_code":"Introduza um código de recuperação"},"media_modal":{"previous":"Anterior","next":"Próximo"},"nav":{"about":"Sobre","back":"Voltar","chat":"Chat local","friend_requests":"Pedidos de seguidores","mentions":"Menções","dms":"Mensagens Diretas","public_tl":"Cronologia Pública","timeline":"Cronologia","twkn":"Rede conhecida","user_search":"Pesquisa por Utilizadores","who_to_follow":"Quem seguir","preferences":"Preferências","search":"Pesquisar","interactions":"Interações","administration":"Administração","chats":"Salas de Chat","timelines":"Cronologias","bookmarks":"Itens Guardados"},"notifications":{"broken_favorite":"Publicação desconhecida, a procurar…","favorited_you":"gostou do teu post","followed_you":"seguiu-te","load_older":"Carregar notificações antigas","notifications":"Notificações","read":"Lido!","repeated_you":"partilhou o teu post","no_more_notifications":"Sem mais notificações","reacted_with":"reagiu com {0}","migrated_to":"migrou para","follow_request":"quer seguir-te","error":"Erro ao obter notificações: {0}"},"post_status":{"new_status":"Publicar nova publicação","account_not_locked_warning":"A sua conta não é {0}. Qualquer pessoa pode seguir-te e ver os seus posts privados (só para seguidores).","account_not_locked_warning_link":"restrito","attachments_sensitive":"Marcar anexos como sensíveis","content_type":{"text/plain":"Texto puro","text/bbcode":"BBCode","text/html":"HTML","text/markdown":"Remarcação"},"content_warning":"Assunto (opcional)","default":"Acabei de chegar a Lisboa.","direct_warning":"Este post será visível apenas para os usuários mencionados.","posting":"A publicar","scope":{"direct":"Direto - Enviar somente aos usuários mencionados","private":"Apenas para seguidores - Enviar apenas para seguidores","public":"Público - Publicar em cronologias públicas","unlisted":"Não listado - Não exibir em cronologias públicas"},"scope_notice":{"unlisted":"Esta publicação não será visível na Cronologia pública e na Rede conhecida por todos","private":"Esta publicação será apenas visível para os teus seguidores","public":"Esta publicação será visível para todos"},"empty_status_error":"Não consegues publicar um post vazio e sem ficheiros","preview_empty":"Vazio","preview":"Pré-visualização","media_description":"Descrição da multimédia","media_description_error":"Falha ao atualizar ficheiro, tente novamente","direct_warning_to_first_only":"Esta publicação só será visível para os utilizadores mencionados no início da mensagem.","direct_warning_to_all":"Esta publicação será visível para todos os utilizadores mencionados."},"registration":{"bio":"Biografia","email":"Endereço de e-mail","fullname":"Nome para exibição","password_confirm":"Confirmação de palavra-passe","registration":"Registo","token":"Código do convite","captcha":"CAPTCHA","new_captcha":"Clique na imagem para carregar um novo captcha","username_placeholder":"ex. lain","fullname_placeholder":"ex. Lain Iwakura","bio_placeholder":"ex.\\nOlá, sou a Lain\\nSou uma menina de anime que vive no Japão suburbano. Devem conhecer-me do \\"the Wired\\".","validations":{"username_required":"não pode ser deixado em branco","fullname_required":"não pode ser deixado em branco","email_required":"não pode ser deixado em branco","password_required":"não pode ser deixado em branco","password_confirmation_required":"não pode ser deixado em branco","password_confirmation_match":"deve corresponder à palavra-passe"}},"settings":{"app_name":"Nome da aplicação","attachmentRadius":"Anexos","attachments":"Anexos","avatar":"Avatar","avatarAltRadius":"Avatares (Notificações)","avatarRadius":"Avatares","background":"Imagem de Fundo","bio":"Biografia","blocks_tab":"Bloqueios","btnRadius":"Botões","cBlue":"Azul (Responder, seguir)","cGreen":"Verde (Partilhar)","cOrange":"Laranja (Favoritar)","cRed":"Vermelho (Cancelar)","change_password":"Mudar palavra-passe","change_password_error":"Ocorreu um erro ao modificar a sua palavra-passe.","changed_password":"Palavra-passe modificada com sucesso!","collapse_subject":"Esconder posts com assunto","composing":"Escrita","confirm_new_password":"Confirmar nova palavra-passe","current_avatar":"Seu avatar atual","current_password":"Palavra-passe atual","current_profile_banner":"Sua capa de perfil atual","data_import_export_tab":"Importação/exportação de dados","default_vis":"Opção de privacidade padrão","delete_account":"Eliminar conta","delete_account_description":"Apagar os seus dados permanentemente e desativar a sua conta.","delete_account_error":"Ocorreu um erro ao remover a sua conta. Se este persistir, por favor entre em contato com o/a administrador/a da instância.","delete_account_instructions":"Escreva a sua palavra-passe no campo abaixo para confirmar a remoção da conta.","avatar_size_instruction":"O tamanho mínimo recomendado para imagens de avatar é 150x150 pixels.","export_theme":"Guardar predefinições","filtering":"Filtragem","filtering_explanation":"Todas as publicações que contenham estas palavras serão silenciadas; uma palavra por linha","follow_export":"Exportar quem você segue","follow_export_button":"Exportar quem você segue para um arquivo CSV","follow_export_processing":"Processando. Em breve você receberá a solicitação de download do arquivo","follow_import":"Importar quem você segue","follow_import_error":"Erro ao importar seguidores","follows_imported":"Seguidores importados! O processamento pode demorar um pouco.","foreground":"Primeiro Plano","general":"Geral","hide_attachments_in_convo":"Ocultar anexos em conversas","hide_attachments_in_tl":"Ocultar anexos na cronologia","max_thumbnails":"Número máximo de miniaturas por post","hide_isp":"Esconder painel específico da instância","preload_images":"Pré-carregar imagens","use_one_click_nsfw":"Abrir anexos sensíveis com um clique","hide_post_stats":"Esconder estatísticas de posts (p. ex. número de favoritos)","hide_user_stats":"Esconder estatísticas do usuário (p. ex. número de seguidores)","hide_filtered_statuses":"Esconder posts filtrados","import_followers_from_a_csv_file":"Importe seguidores a partir de um arquivo CSV","import_theme":"Carregar pré-definição","inputRadius":"Campos de entrada","checkboxRadius":"Caixas de seleção","instance_default":"(padrão: {value})","instance_default_simple":"(padrão)","interface":"Interface","interfaceLanguage":"Idioma da interface","invalid_theme_imported":"O arquivo selecionado não é um tema compatível com o Pleroma. Nenhuma mudança no tema foi feita.","limited_availability":"Indisponível para seu navegador","links":"Links","lock_account_description":"Restringir sua conta a seguidores aprovados","loop_video":"Repetir vídeos","loop_video_silent_only":"Repetir apenas vídeos sem som (como os \\"gifs\\" do Mastodon)","mutes_tab":"Silenciados","play_videos_in_modal":"Reproduzir vídeos diretamente no visualizador de multimédia","use_contain_fit":"Não cortar o anexo na miniatura","name":"Nome","name_bio":"Nome & Biografia","new_password":"Nova palavra-passe","notification_visibility":"Tipos de notificação para mostrar","notification_visibility_follows":"Seguidas","notification_visibility_likes":"Favoritos","notification_visibility_mentions":"Menções","notification_visibility_repeats":"Partilhas","no_rich_text_description":"Remover formatação de todos os posts","no_blocks":"Sem bloqueios","no_mutes":"Sem silenciados","hide_follows_description":"Não mostrar quem estou seguindo","hide_followers_description":"Não mostrar quem me segue","show_admin_badge":"Mostrar título de Administrador em meu perfil","show_moderator_badge":"Mostrar título de Moderador em meu perfil","nsfw_clickthrough":"Ativar clique em anexos e pré-visualizações de links para ocultar anexos NSFW","oauth_tokens":"Token OAuth","token":"Token","refresh_token":"Atualizar Token","valid_until":"Válido até","revoke_token":"Revogar","panelRadius":"Paineis","pause_on_unfocused":"Parar transmissão quando a aba não estiver em primeiro plano","presets":"Predefinições","profile_background":"Pano de fundo de perfil","profile_banner":"Capa de perfil","profile_tab":"Perfil","radii_help":"Arredondar arestas da interface (em pixel)","replies_in_timeline":"Respostas na cronologia","reply_visibility_all":"Mostrar todas as respostas","reply_visibility_following":"Só mostrar respostas direcionadas a mim ou a usuários que sigo","reply_visibility_self":"Só mostrar respostas direcionadas a mim","saving_err":"Erro ao salvar configurações","saving_ok":"Configurações salvas","security_tab":"Segurança","scope_copy":"Copiar opções de privacidade ao responder (Mensagens diretas sempre copiam)","set_new_avatar":"Alterar avatar","set_new_profile_background":"Alterar o pano de fundo de perfil","set_new_profile_banner":"Alterar capa de perfil","settings":"Configurações","subject_input_always_show":"Sempre mostrar campo de assunto","subject_line_behavior":"Copiar assunto ao responder","subject_line_email":"Como num e-mail: \\"re: assunto\\"","subject_line_mastodon":"Como o Mastodon: copiar como está","subject_line_noop":"Não copiar","post_status_content_type":"Tipo de conteúdo do status","stop_gifs":"Reproduzir GIFs ao passar o cursor","streaming":"Habilitar o fluxo automático de postagens no topo da página","text":"Texto","theme":"Tema","theme_help":"Use cores em código hexadecimal (#rrggbb) para personalizar seu esquema de cores.","theme_help_v2_1":"Você também pode sobrescrever as cores e opacidade de alguns componentes ao modificar o checkbox, use \\"Limpar todos\\" para limpar todas as modificações.","theme_help_v2_2":"Alguns ícones em registo são indicadores de fundo/contraste de textos, passe por cima para obter informações detalhadas. Tenha em atenção que os indicadores de contraste não funcionam muito bem com transparência.","tooltipRadius":"Dicas/alertas","upload_a_photo":"Enviar uma foto","user_settings":"Configurações de Usuário","values":{"false":"não","true":"sim"},"notifications":"Notificações","enable_web_push_notifications":"Habilitar notificações web push","style":{"switcher":{"keep_color":"Manter cores","keep_shadows":"Manter sombras","keep_opacity":"Manter opacidade","keep_roundness":"Manter arredondado","keep_fonts":"Manter fontes","save_load_hint":"Manter as opções preserva as opções atuais ao selecionar ou carregar temas; também salva as opções ao exportar um tempo. Quanto todos os campos estiverem desmarcados, tudo será salvo ao exportar o tema.","reset":"Restaurar o padrão","clear_all":"Limpar tudo","clear_opacity":"Limpar opacidade","help":{"upgraded_from_v2":"O PleromaFE foi atualizado, a aparência do tema poderá ser um pouco diferente.","snapshot_source_mismatch":"Conflito de versões: o mais provável é que o FE tenha revertido e voltado a atualizar, foi alterado o tema numa versão anterior do FE, o mais provável é desejar utilizar a versão anterior; caso contrário, utilize a nova versão.","migration_napshot_gone":"Por algum motivo, a pré-visualização estava em falta, algumas coisas poderão parecer diferentes do que se lembra.","migration_snapshot_ok":"Para estar seguro, foi carregada uma versão de pré-visualização do tema. Pode tentar carregar dados do tema.","fe_downgraded":"Versão do PleromaFE revertida.","fe_upgraded":"O criador de temas do PleromaFE foi atualizado depois da atualização da versão.","snapshot_missing":"Não existia nenhuma pré-visualização do tema no ficheiro, então pode parecer diferente do previsto originalmente.","snapshot_present":"Foi carregada uma pré-visualização do tema, todos os valores são substituídos. Caso contrário, pode carregar o tema completo.","older_version_imported":"O ficheiro que importaste foi criado numa versão antiga do FE.","future_version_imported":"O ficheiro que importaste foi criado para uma versão mais recente do FE.","v2_imported":"O ficheiro que importaste foi feito para uma versão antiga do FE. Tentamos maximizar a compatibilidade, porém, poderão existir incongruências."},"use_source":"Nova versão","use_snapshot":"Versão antiga","keep_as_is":"Manter como está","load_theme":"Carregar tema"},"common":{"color":"Cor","opacity":"Opacidade","contrast":{"hint":"A taxa de contraste é {ratio}, {level} {context}","level":{"aa":"padrão Nível AA (mínimo)","aaa":"padrão Nível AAA (recomendado)","bad":"nenhum padrão de acessibilidade"},"context":{"18pt":"para textos longos (18pt+)","text":"para texto"}}},"common_colors":{"_tab_label":"Comum","main":"Cores Comuns","foreground_hint":"Configurações mais detalhadas na aba\\"Avançado\\"","rgbo":"Ícones, acentuação, distintivos"},"advanced_colors":{"_tab_label":"Avançado","alert":"Fundo de alerta","alert_error":"Erro","badge":"Fundo do distintivo","badge_notification":"Notificação","panel_header":"Topo do painel","top_bar":"Barra do topo","borders":"Bordas","buttons":"Botões","inputs":"Caixas de entrada","faint_text":"Texto esmaecido","chat":{"border":"Borda","outgoing":"Enviadas","incoming":"Recebidas"},"tabs":"Abas","toggled":"Alternado","disabled":"Desativado","selectedMenu":"Elemento do menu seleccionado","selectedPost":"Publicação seleccionada","pressed":"Pressionado","highlight":"Elementos destacados","icons":"Ícones","poll":"Gráfico da sondagem","wallpaper":"Fundo de ecrã","underlay":"Sublinhado","popover":"Sugestões, menus, etiquetas","post":"Publicações/Bios","alert_neutral":"Neutro","alert_warning":"Precaução"},"radii":{"_tab_label":"Arredondado"},"shadows":{"_tab_label":"Luz e sombra","component":"Componente","override":"Sobrescrever","shadow_id":"Sombra #{value}","blur":"Borrado","spread":"Difusão","inset":"Inserção","hint":"Para as sombras você também pode usar --variável como valor de cor para utilizar variáveis do CSS3. Tenha em mente que configurar a opacidade não será possível neste caso.","filter_hint":{"always_drop_shadow":"Atenção, esta sombra sempre utiliza {0} quando compatível com o navegador.","drop_shadow_syntax":"{0} não é compatível com o parâmetro {1} e a palavra-chave {2}.","avatar_inset":"Tenha em mente que combinar as sombras de inserção e a não-inserção em avatares pode causar resultados inesperados em avatares transparentes.","spread_zero":"Sombras com difusão > 0 aparecerão como se fossem definidas como zero","inset_classic":"Sombras de inserção utilizarão {0}"},"components":{"panel":"Painel","panelHeader":"Topo do painel","topBar":"Barra do topo","avatar":"Avatar do usuário (na visualização do perfil)","avatarStatus":"Avatar do usuário (na exibição de posts)","popup":"Dicas e notificações","button":"Botão","buttonHover":"Botão (em cima)","buttonPressed":"Botão (pressionado)","buttonPressedHover":"Botão (pressionado+em cima)","input":"Campo de entrada"},"hintV3":"Para as sombras, também pode usar a notação {0} para usar outro espaço de cor."},"fonts":{"_tab_label":"Fontes","help":"Selecione as fontes dos elementos da interface. Para fonte \\"personalizada\\" você deve inserir o mesmo nome da fonte no sistema.","components":{"interface":"Interface","input":"Campo de entrada","post":"Postar texto","postCode":"Texto monoespaçado em post (formatação rica)"},"family":"Nome da fonte","size":"Tamanho (em px)","weight":"Peso","custom":"Personalizada"},"preview":{"header":"Pré-visualizar","content":"Conteúdo","error":"Erro de exemplo","button":"Botão","text":"Vários {0} e {1}","mono":"conteúdo","input":"Acabei de chegar a Lisboa.","faint_link":"manual útil","fine_print":"Leia nosso {0} para não aprender nada!","header_faint":"Isto está bem","checkbox":"Li os termos e condições","link":"um belo link"}},"mfa":{"scan":{"secret_code":"Chave","title":"Scan","desc":"Utilizando a sua aplicação de dois fatores, faça scan deste código QR ou insira a chave de texto:"},"authentication_methods":"Métodos de autenticação","recovery_codes":"Códigos de recuperação.","generate_new_recovery_codes":"Gerar novos códigos de recuperação","confirm_and_enable":"Confirmar e ativar a palavra-passe de utilização única","otp":"Palavra-passe de utilização única","verify":{"desc":"Para ativar a autenticação de dois fatores, introduza o código da sua aplicação de dois fatores:"},"recovery_codes_warning":"Anote os códigos ou armazene-os num lugar seguro - caso contrário, não os voltará a ver. Se perder acesso à sua aplicação de dois fatores e aos códigos de recuperação, a sua conta ficará bloqueada.","waiting_a_recovery_codes":"A receber códigos de recuperação…","warning_of_generate_new_codes":"Quando gera novos códigos de recuperação, os antigos deixam de funcionar.","title":"Autenticação de Dois Fatores","wait_pre_setup_otp":"pré-configuração de palavra-passe de utilização única","setup_otp":"Configurar palavra-passe de utilização única"},"security":"Segurança","mute_import_error":"Erro ao importar os silenciados","mute_import":"Importar silenciados","mute_export_button":"Exporta os silenciados para um ficheiro csv","mute_export":"Exportar silenciados","blocks_imported":"Lista de utilizadores bloqueados importada! O processo pode demorar alguns instantes.","block_import_error":"Erro ao importar a lista de utilizadores bloqueados","block_import":"Importar utilizadores bloqueados","block_export_button":"Exporta a tua lista de utilizadores bloqueados para um ficheiro csv","block_export":"Exportar utilizadores bloqueados","enter_current_password_to_confirm":"Introduza a sua palavra-passe atual para confirmar a sua identidade","mutes_and_blocks":"Silenciados e Bloqueados","chatMessageRadius":"Mensagem de texto","changed_email":"Endereço de e-mail modificado com sucesso!","change_email_error":"Ocorreu um erro ao modificar o seu endereço de e-mail.","change_email":"Mudar Endereço de E-mail","bot":"Esta uma conta robô","import_mutes_from_a_csv_file":"Importar silenciados de um ficheiro csv","mutes_imported":"Silenciados importados! Processá-los pode demorar alguns instantes.","allow_following_move":"Permitir seguimento automático quando a conta for migrada para outra instância","domain_mutes":"Domínios","discoverable":"Permitir a descoberta desta conta em resultados de busca e outros serviços","emoji_reactions_on_timeline":"Mostrar reações de emoji na timeline","hide_muted_posts":"Esconder posts de utilizadores silenciados","hide_follows_count_description":"Não mostrar o número de contas seguidas","hide_followers_count_description":"Não mostrar o número de seguidores","notification_visibility_emoji_reactions":"Reações","new_email":"Novo endereço de e-mail","profile_fields":{"value":"Conteúdo","add_field":"Adicionar campo","label":"Metadados do perfil","name":"Etiqueta"},"import_blocks_from_a_csv_file":"Importar bloqueados a partir de um arquivo CSV","hide_wallpaper":"Esconder papel de parede da instância","notification_setting_privacy":"Privacidade","notification_setting_filters":"Filtros","fun":"Divertido","user_mutes":"Utilizadores","type_domains_to_mute":"Pesquisar domínios para silenciar","useStreamingApiWarning":"(não recomendado, experimental, pode omitir publicações)","useStreamingApi":"Receber publicações e notificações em tempo real","minimal_scopes_mode":"Minimizar as opções de publicação","search_user_to_mute":"Pesquisar utilizadores que pretende silenciar","search_user_to_block":"Pesquisa quais utilizadores desejas bloquear","notification_setting_hide_notification_contents":"Ocultar o remetente e o conteúdo das notificações push","version":{"frontend_version":"Versão do Frontend","backend_version":"Versão do Backend","title":"Versão"},"notification_blocks":"Bloquear um utilizador previne todas as notificações, bem como as desativa.","notification_mutes":"Para deixar de receber notificações de um utilizador específico, silencia-o.","notification_setting_block_from_strangers":"Bloqueia as notificações de utilizadores que não segues","greentext":"Texto verde (meme arrows)","virtual_scrolling":"Otimizar a apresentação da cronologia","reset_background_confirm":"Tens a certeza que desejas redefinir o fundo?","reset_banner_confirm":"Tens a certeza que desejas redefinir a imagem do cabeçalho?","reset_avatar_confirm":"Tens a certeza que desejas redefinir o avatar?","reset_profile_banner":"Redefinir imagem do cabeçalho do perfil","reset_profile_background":"Redefinir fundo de perfil","reset_avatar":"Redefinir avatar","autohide_floating_post_button":"Automaticamente ocultar o botão \'Nova Publicação\' (telemóvel)","notification_visibility_moves":"Utilizador Migrado","accent":"Destaque","pad_emoji":"Preencher espaços ao adicionar emojis do seletor"},"timeline":{"collapse":"Esconder","conversation":"Conversa","error_fetching":"Erro ao buscar atualizações","load_older":"Carregar postagens antigas","no_retweet_hint":"Posts apenas para seguidores ou diretos não podem ser partilhados","repeated":"partilhado","show_new":"Mostrar novas","up_to_date":"Atualizado","no_more_statuses":"Sem mais posts","no_statuses":"Sem posts","reload":"Recarregar","error":"Erro a obter a cronologia: {0}"},"status":{"reply_to":"Responder a","replies_list":"Respostas:","unbookmark":"Remover post dos Items Guardados","expand":"Expandir","nsfw":"NSFW (Não apropriado para trabalho)","status_deleted":"Esta publicação foi apagada","hide_content":"Ocultar o conteúdo","show_content":"Mostrar o conteúdo","hide_full_subject":"Ocultar o assunto completo","show_full_subject":"Mostrar o assunto completo","thread_muted_and_words":", contém:","thread_muted":"Conversação silenciada","external_source":"Fonte externa","copy_link":"Copiar o link do post","status_unavailable":"Publicação indisponível","unmute_conversation":"Mostrar a conversação","mute_conversation":"Silenciar a conversação","delete_confirm":"Tens a certeza que desejas apagar a publicação?","bookmark":"Guardar","pin":"Fixar no perfil","pinned":"Afixado","unpin":"Desafixar do perfil","delete":"Eliminar publicação","repeats":"Partilhados","favorites":"Favoritos"},"user_card":{"approve":"Aprovar","block":"Bloquear","blocked":"Bloqueado!","deny":"Negar","favorites":"Favoritos","follow":"Seguir","follow_sent":"Pedido enviado!","follow_progress":"Enviando…","follow_unfollow":"Deixar de seguir","followees":"Seguindo","followers":"Seguidores","following":"Seguindo!","follows_you":"Segue você!","its_you":"É você!","media":"Multimédia","mute":"Silenciar","muted":"Silenciado","per_day":"por dia","remote_follow":"Seguir remotamente","statuses":"Postagens","unblock":"Desbloquear","unblock_progress":"A desbloquear…","block_progress":"A bloquear…","unmute":"Retirar silêncio","unmute_progress":"A retirar silêncio…","mute_progress":"A silenciar…","admin_menu":{"delete_user_confirmation":"Tens a certeza? Esta ação não pode ser revertida.","delete_user":"Eliminar utilizador","quarantine":"Não permitir publicações de utilizadores de instâncias remotas","disable_any_subscription":"Não permitir que nenhum utilizador te siga","disable_remote_subscription":"Não permitir seguidores de instâncias remotas","sandbox":"Forçar publicações apenas para seguidores","force_unlisted":"Forçar publicações como não listadas","strip_media":"Eliminar ficheiros multimédia das publicações","force_nsfw":"Marcar todas as publicações como NSFW (não apropriado para o trabalho)","delete_account":"Eliminar Conta","deactivate_account":"Desativar conta","activate_account":"Ativar conta","revoke_moderator":"Revogar permissões de Moderador","grant_moderator":"Conceder permissões de Moderador","revoke_admin":"Revogar permissões de Admin","grant_admin":"Conceder permissões de Admin","moderation":"Moderação"},"show_repeats":"Mostrar partilhas","hide_repeats":"Ocultar partilhas","unsubscribe":"Retirar subscrição","subscribe":"Subscrever","report":"Denunciar","message":"Mensagem","mention":"Mencionar","hidden":"Ocultar"},"user_profile":{"timeline_title":"Cronologia do Utilizador","profile_does_not_exist":"Desculpe, este perfil não existe.","profile_loading_error":"Desculpe, houve um erro ao carregar este perfil."},"who_to_follow":{"more":"Mais","who_to_follow":"Quem seguir"},"tool_tip":{"media_upload":"Envio de multimédia","repeat":"Partilhar","reply":"Responder","favorite":"Favoritar","user_settings":"Configurações do usuário","bookmark":"Guardar","reject_follow_request":"Rejeitar o pedido de seguimento","accept_follow_request":"Aceitar o pedido de seguimento","add_reaction":"Adicionar Reação"},"upload":{"error":{"base":"Falha no envio.","file_too_big":"Arquivo grande demais [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","default":"Tente novamente mais tarde","message":"Falha ao enviar: {0}"},"file_size_units":{"B":"B","KiB":"KiB","MiB":"MiB","GiB":"GiB","TiB":"TiB"}},"about":{"mrf":{"simple":{"quarantine":"Quarentena","reject":"Rejeitar","accept":"Aceitar","media_removal_desc":"Este domínio remove multimédia das publicações dos seguintes domínios:","media_removal":"Remoção de multimédia","ftl_removal_desc":"Este domínio remove os seguintes domínios da cronologia \\"Rede conhecida por todos\\":","quarantine_desc":"Este domínio apenas irá publicar nos seguintes domínios:","reject_desc":"Este domínio não aceitará mensagens dos seguintes domínios:","accept_desc":"Este domínio aceita apenas mensagens dos seguintes domínios:","simple_policies":"Políticas especificas do domínio","media_nsfw":"Forçar definição de multimédia como Sensível","ftl_removal":"Remoção da cronologia da \\"Rede conhecida por todos\\"","media_nsfw_desc":"Este domínio força a multimédia a ser marcada como sensível nos seguintes domínios:"},"keyword":{"replace":"Substituir","reject":"Rejeitar","is_replaced_by":"→","keyword_policies":"Política de Palavras-Chave","ftl_removal":"Remoção da cronologia da \\"Rede conhecida por todos\\""},"federation":"Federação","mrf_policies":"Ativar Políticas MRF","mrf_policies_desc":"Políticas MRF manipulam o comportamento da federação nos domínios. As seguintes políticas estão ativadas:"},"staff":"Staff"},"remote_user_resolver":{"searching_for":"A pesquisar por","error":"Não encontrado.","remote_user_resolver":"Resolução de utilizador remoto"},"emoji":{"unicode":"Emoji Unicode","custom":"Emoji customizado","add_emoji":"Inserir emoji","search_emoji":"Pesquisar por um emoji","emoji":"Emoji","load_all":"A carregar todos os {emojiAmount} emojis","load_all_hint":"Carregado o primeiro emoji {saneAmount}, carregar todos os emojis pode causar problemas de desempenho.","keep_open":"Manter o seletor aberto","stickers":"Autocolantes"},"polls":{"single_choice":"Escolha única","vote":"Vota","votes":"votos","option":"Opção","add_option":"Adicionar Opção","not_enough_options":"Demasiado poucas opções únicas na sondagem","expired":"A sondagem terminou há {0}","expires_in":"A sondagem termina em {0}","expiry":"Tempo para finalizar sondagem","multiple_choices":"Escolha múltipla","type":"Tipo de sondagem","add_poll":"Adicionar Sondagem"},"importer":{"error":"Ocorreu um erro ao importar este ficheiro.","success":"Importado com sucesso.","submit":"Enviar"},"exporter":{"processing":"A processar, brevemente ser-te-á pedido que descarregues o ficheiro","export":"Exportar"},"domain_mute_card":{"mute_progress":"A silenciar…","mute":"Silenciar","unmute":"Remover silêncio","unmute_progress":"A remover o silêncio…"},"selectable_list":{"select_all":"Seleccionar tudo"},"interactions":{"load_older":"Carregar interações mais antigas","follows":"Novos seguidores","favs_repeats":"Gostos e Partilhas","moves":"O utilizador migra"},"errors":{"storage_unavailable":"O Pleroma não conseguiu aceder ao armazenamento do navegador. A sua sessão ou definições locais não serão armazenadas e poderá encontrar problemas inesperados. Tente ativar as cookies."},"shoutbox":{"title":"Chat Geral"},"chats":{"chats":"Chats","empty_chat_list_placeholder":"Não tens conversações ainda. Inicia uma nova conversa!","error_sending_message":"Ocorreu algo de errado ao enviar a mensagem.","error_loading_chat":"Ocorreu algo de errado ao carregar o chat.","delete_confirm":"Desejas realmente apagar esta mensagem?","more":"Mais","empty_message_error":"Não podes publicar uma mensagem vazia","new":"Nova conversação","delete":"Apagar","message_user":"Mensagem de {nickname}","you":"Tu:"},"search":{"hashtags":"Hashtags","no_results":"Sem resultados","person_talking":"{count} pessoa a falar","people_talking":"{0} pessoas a falar","people":"Pessoas"},"display_date":{"today":"Hoje"},"file_type":{"file":"Ficheiro","image":"Imagem","video":"Vídeo","audio":"Áudio"},"password_reset":{"password_reset_required_but_mailer_is_disabled":"Deves repor a tua palavra-passe, porém, a reposição de palavra-passe está desativada. Contacta o administrador da tua instância.","password_reset_required":"Deves repor a tua palavra-passe para iniciar sessão.","password_reset_disabled":"A reposição da palavra-passe foi desativada. Contacta o administrador da tua instância.","too_many_requests":"Alcançaste o limite de tentativas, tenta novamente mais tarde.","return_home":"Voltar à página principal","check_email":"Verifica o teu endereço de e-mail para obter um link para repor a tua palavra-passe.","placeholder":"O teu endereço de e-mail ou nome de utilizador","instruction":"Introduz o teu endereço de e-mail ou nome de utilizador. Enviaremos um link para repores a tua palavra-passe.","password_reset":"Repor palavra-passe","forgot_password":"Esqueceu-se da palavra-passe?"},"user_reporting":{"generic_error":"Ocorreu um erro ao processar o teu pedido.","submit":"Enviar","forward_to":"Encaminhar para {0}","forward_description":"A conta é de outro servidor. Enviar também uma cópia da denúncia à outra instância?","additional_comments":"Comentários adicionais","add_comment_description":"Esta denúncia será enviada aos moderadores desta instância. Podes fornecer uma explicação pela qual te encontras a denunciar esta conta abaixo:","title":"Denunciar {0}"},"time":{"years_short":"{0}a","year_short":"{0}a","years":"{0} anos","year":"{0} ano","weeks_short":"{0}sem","week_short":"{0}sem","weeks":"{0} semanas","week":"{0} semana","seconds_short":"{0}s","second_short":"{0}s","seconds":"{0} segundos","second":"{0} segundo","now":"agora mesmo","now_short":"agora","months_short":"{0}m","month_short":"{0}m","months":"{0} meses","month":"{0} mês","minutes_short":"{0}min","minute_short":"{0}min","minutes":"{0} minutos","minute":"{0} minuto","in_past":"há {0}","in_future":"em {0}","hours_short":"{0}h","hour_short":"{0}h","hours":"{0} horas","hour":"{0} hora","days_short":"{0}d","day_short":"{0}d","days":"{0} dias","day":"{0} dia"}}')}}]); +//# sourceMappingURL=26.34ec129dd8f860ce4a8e.js.map \ No newline at end of file diff --git a/priv/static/static/js/26.34ec129dd8f860ce4a8e.js.map b/priv/static/static/js/26.34ec129dd8f860ce4a8e.js.map new file mode 100644 index 000000000..abff4e927 --- /dev/null +++ b/priv/static/static/js/26.34ec129dd8f860ce4a8e.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/26.34ec129dd8f860ce4a8e.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/26.bd86a0d958de2bb3905a.js.map b/priv/static/static/js/26.bd86a0d958de2bb3905a.js.map deleted file mode 100644 index a2e972c31..000000000 --- a/priv/static/static/js/26.bd86a0d958de2bb3905a.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/26.bd86a0d958de2bb3905a.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/27.7d4ab8716762d6f57135.js b/priv/static/static/js/27.0f4a5145681cfb5a896e.js similarity index 94% rename from priv/static/static/js/27.7d4ab8716762d6f57135.js rename to priv/static/static/js/27.0f4a5145681cfb5a896e.js index 95a37be1f..5df92f6ad 100644 --- a/priv/static/static/js/27.7d4ab8716762d6f57135.js +++ b/priv/static/static/js/27.0f4a5145681cfb5a896e.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{607:function(e){e.exports=JSON.parse('{"finder":{"error_fetching_user":"Eroare la preluarea utilizatorului","find_user":"Găsește utilizator"},"general":{"submit":"trimite"},"login":{"login":"Loghează","logout":"Deloghează","password":"Parolă","placeholder":"d.e. lain","register":"Înregistrare","username":"Nume utilizator"},"nav":{"mentions":"Menționări","public_tl":"Cronologie Publică","timeline":"Cronologie","twkn":"Toată Reșeaua Cunoscută"},"notifications":{"followed_you":"te-a urmărit","notifications":"Notificări","read":"Citit!"},"post_status":{"default":"Nu de mult am aterizat în L.A.","posting":"Postează"},"registration":{"bio":"Bio","email":"Email","fullname":"Numele întreg","password_confirm":"Cofirmă parola","registration":"Îregistrare"},"settings":{"attachments":"Atașamente","avatar":"Avatar","bio":"Bio","current_avatar":"Avatarul curent","current_profile_banner":"Bannerul curent al profilului","filtering":"Filtru","filtering_explanation":"Toate stările care conțin aceste cuvinte vor fi puse pe mut, una pe linie","hide_attachments_in_convo":"Ascunde atașamentele în conversații","hide_attachments_in_tl":"Ascunde atașamentele în cronologie","name":"Nume","name_bio":"Nume și Bio","nsfw_clickthrough":"Permite ascunderea al atașamentelor NSFW","profile_background":"Fundalul de profil","profile_banner":"Banner de profil","set_new_avatar":"Setează avatar nou","set_new_profile_background":"Setează fundal nou","set_new_profile_banner":"Setează banner nou la profil","settings":"Setări","theme":"Temă","user_settings":"Setările utilizatorului"},"timeline":{"conversation":"Conversație","error_fetching":"Erare la preluarea actualizărilor","load_older":"Încarcă stări mai vechi","show_new":"Arată cele noi","up_to_date":"La zi"},"user_card":{"block":"Blochează","blocked":"Blocat!","follow":"Urmărește","followees":"Urmărește","followers":"Următori","following":"Urmărit!","follows_you":"Te urmărește!","mute":"Pune pe mut","muted":"Pus pe mut","per_day":"pe zi","statuses":"Stări"}}')}}]); -//# sourceMappingURL=27.7d4ab8716762d6f57135.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[27],{620:function(e){e.exports=JSON.parse('{"finder":{"error_fetching_user":"Eroare la preluarea utilizatorului","find_user":"Găsește utilizator"},"general":{"submit":"trimite"},"login":{"login":"Loghează","logout":"Deloghează","password":"Parolă","placeholder":"d.e. lain","register":"Înregistrare","username":"Nume utilizator"},"nav":{"mentions":"Menționări","public_tl":"Cronologie Publică","timeline":"Cronologie","twkn":"Toată Reșeaua Cunoscută"},"notifications":{"followed_you":"te-a urmărit","notifications":"Notificări","read":"Citit!"},"post_status":{"default":"Nu de mult am aterizat în L.A.","posting":"Postează"},"registration":{"bio":"Bio","email":"Email","fullname":"Numele întreg","password_confirm":"Cofirmă parola","registration":"Îregistrare"},"settings":{"attachments":"Atașamente","avatar":"Avatar","bio":"Bio","current_avatar":"Avatarul curent","current_profile_banner":"Bannerul curent al profilului","filtering":"Filtru","filtering_explanation":"Toate stările care conțin aceste cuvinte vor fi puse pe mut, una pe linie","hide_attachments_in_convo":"Ascunde atașamentele în conversații","hide_attachments_in_tl":"Ascunde atașamentele în cronologie","name":"Nume","name_bio":"Nume și Bio","nsfw_clickthrough":"Permite ascunderea al atașamentelor NSFW","profile_background":"Fundalul de profil","profile_banner":"Banner de profil","set_new_avatar":"Setează avatar nou","set_new_profile_background":"Setează fundal nou","set_new_profile_banner":"Setează banner nou la profil","settings":"Setări","theme":"Temă","user_settings":"Setările utilizatorului"},"timeline":{"conversation":"Conversație","error_fetching":"Erare la preluarea actualizărilor","load_older":"Încarcă stări mai vechi","show_new":"Arată cele noi","up_to_date":"La zi"},"user_card":{"block":"Blochează","blocked":"Blocat!","follow":"Urmărește","followees":"Urmărește","followers":"Următori","following":"Urmărit!","follows_you":"Te urmărește!","mute":"Pune pe mut","muted":"Pus pe mut","per_day":"pe zi","statuses":"Stări"}}')}}]); +//# sourceMappingURL=27.0f4a5145681cfb5a896e.js.map \ No newline at end of file diff --git a/priv/static/static/js/27.0f4a5145681cfb5a896e.js.map b/priv/static/static/js/27.0f4a5145681cfb5a896e.js.map new file mode 100644 index 000000000..da741bf41 --- /dev/null +++ b/priv/static/static/js/27.0f4a5145681cfb5a896e.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/27.0f4a5145681cfb5a896e.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/27.7d4ab8716762d6f57135.js.map b/priv/static/static/js/27.7d4ab8716762d6f57135.js.map deleted file mode 100644 index b9b2aa6e1..000000000 --- a/priv/static/static/js/27.7d4ab8716762d6f57135.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/27.7d4ab8716762d6f57135.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/28.a88999ebb3f7ec930aad.js b/priv/static/static/js/28.75c01cd71372c39d5af8.js similarity index 75% rename from priv/static/static/js/28.a88999ebb3f7ec930aad.js rename to priv/static/static/js/28.75c01cd71372c39d5af8.js index 423aebca9..63067ea18 100644 --- a/priv/static/static/js/28.a88999ebb3f7ec930aad.js +++ b/priv/static/static/js/28.75c01cd71372c39d5af8.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{608:function(e){e.exports=JSON.parse('{"chat":{"title":"Чат"},"finder":{"error_fetching_user":"Пользователь не найден","find_user":"Найти пользователя"},"general":{"apply":"Применить","submit":"Отправить","cancel":"Отмена","disable":"Оключить","enable":"Включить","confirm":"Подтвердить","verify":"Подтверждение","more":"Больше","generic_error":"Произошла ошибка","optional":"не обязательно","show_less":"Показать меньше","show_more":"Показать больше","peek":"Свернуть","dismiss":"Закрыть","retry":"Попробуйте еще раз","error_retry":"Пожалуйста попробуйте еще раз","close":"Закрыть","loading":"Загрузка…","role":{"moderator":"Модератор","admin":"Администратор"}},"login":{"login":"Войти","logout":"Выйти","password":"Пароль","placeholder":"e.c. lain","register":"Зарегистрироваться","username":"Имя пользователя","authentication_code":"Код аутентификации","enter_recovery_code":"Ввести код восстановления","enter_two_factor_code":"Ввести код аутентификации","recovery_code":"Код восстановления","heading":{"TotpForm":"Двухфакторная аутентификация","RecoveryForm":"Two-factor recovery","totp":"Двухэтапная аутентификация","recovery":"Восстановление двухэтапной аутентификации"},"hint":"Войдите чтобы присоединиться к дискуссии","description":"Войти с помощью OAuth"},"nav":{"back":"Назад","chat":"Локальный чат","mentions":"Упоминания","interactions":"Взаимодействия","public_tl":"Локальная лента","timeline":"Главная","twkn":"Федеративная лента","search":"Поиск","friend_requests":"Запросы на чтение","bookmarks":"Закладки","chats":"Беседы","timelines":"Ленты","preferences":"Настройки","who_to_follow":"Кого читать","dms":"Личные сообщения","administration":"Панель администратора","about":"Об узле","user_search":"Поиск пользователей","home_timeline":"Главная"},"notifications":{"broken_favorite":"Неизвестный статус, ищем…","favorited_you":"нравится ваш статус","followed_you":"начал(а) читать вас","load_older":"Загрузить старые уведомления","notifications":"Уведомления","read":"Прочесть","repeated_you":"повторил(а) ваш статус","follow_request":"хочет читать вас","reacted_with":"добавил(а) реакцию: {0}","migrated_to":"перехал на","no_more_notifications":"Нет дальнейших уведомлений","error":"Ошибка при обновлении уведомлений: {0}"},"interactions":{"favs_repeats":"Повторы и отметки «Нравится»","follows":"Новые читатели","load_older":"Загрузить старые взаимодействия","moves":"Переезды"},"post_status":{"account_not_locked_warning":"Ваша учетная запись не {0}. Кто угодно может начать читать вас чтобы видеть статусы только для читателей.","account_not_locked_warning_link":"закрыт","attachments_sensitive":"Вложения имеют щекотливый характер","content_warning":"Тема (не обязательно)","default":"Что нового?","direct_warning":"Этот пост будет виден только упомянутым пользователям","posting":"Отправляется","scope_notice":{"public":"Этот статус будет виден всем","private":"Этот статус будет виден только вашим читателям","unlisted":"Этот статус не будет виден в локальной и федеративной ленте"},"scope":{"direct":"Личное сообщение - этот статус видят только те, кто в нём упомянут","private":"Для читателей - этот статус видят только ваши читатели","public":"Публичный - этот статус виден всем","unlisted":"Тихий - этот пост виден всем, но не отображается в публичных лентах"},"preview_empty":"Пустой предпросмотр","media_description_error":"Не удалось обновить вложение, попробуйте еще раз","empty_status_error":"Нельзя отправить пустой статус без вложений","preview":"Предпросмотр","direct_warning_to_first_only":"Это сообщение увидят только пользователи упомянутые в его начале.","direct_warning_to_all":"Это сообщение увидят все упомянутые пользователи.","content_type":{"text/bbcode":"BBCode","text/html":"HTML","text/markdown":"Markdown","text/plain":"Простой текст"},"media_description":"Описание вложения","new_status":"Написать новый статус","post":"Опубликовать"},"registration":{"bio":"О себе","email":"Электронная почта","fullname":"Отображаемое имя","password_confirm":"Подтверждение пароля","registration":"Регистрация","token":"Код приглашения","validations":{"username_required":"не должно быть пустым","fullname_required":"не должно быть пустым","email_required":"не должен быть пустым","password_required":"не должен быть пустым","password_confirmation_required":"не должно быть пустым","password_confirmation_match":"должно совпадать с паролем"},"bio_placeholder":"например:\\nПривет, я Игорь Печкин.\\nРаботаю почтальоном в деревне Простоквашино. С недавних пор велосипедист.","fullname_placeholder":"например: Почтальон Печкин","username_placeholder":"например: pechkin","captcha":"Код подтверждения","new_captcha":"Нажмите на изображение чтобы получить новый код","reason_placeholder":"Данный узел обрабатывает запросы на регистрацию вручную.\\nРасскажите администрации почему вы хотите зарегистрироваться.","reason":"Причина регистрации","register":"Зарегистрироваться"},"settings":{"enter_current_password_to_confirm":"Введите свой текущий пароль","mfa":{"otp":"OTP","setup_otp":"Настройка OTP","wait_pre_setup_otp":"предварительная настройка OTP","confirm_and_enable":"Подтвердить и включить OTP","title":"Двухэтапная аутентификация","generate_new_recovery_codes":"Получить новые коды востановления","warning_of_generate_new_codes":"После получения новых кодов восстановления, старые больше не будут работать.","recovery_codes":"Коды восстановления.","waiting_a_recovery_codes":"Получение кодов восстановления…","recovery_codes_warning":"Запишите эти коды и держите в безопасном месте - иначе вы их больше не увидите. Если вы потеряете доступ к OTP приложению - без резервных кодов вы больше не сможете залогиниться.","authentication_methods":"Методы аутентификации","scan":{"title":"Сканирование","desc":"Отсканируйте QR-код приложением для двухэтапной аутентификации или введите текстовый ключ:","secret_code":"Ключ"},"verify":{"desc":"Чтобы включить двухэтапную аутентификацию, введите код из приложения-аутентификатора:"}},"attachmentRadius":"Прикреплённые файлы","attachments":"Вложения","avatar":"Аватар","avatarAltRadius":"Аватары в уведомлениях","avatarRadius":"Аватары","background":"Фон","bio":"О себе","btnRadius":"Кнопки","bot":"Это учётная запись бота","cBlue":"Ответить, читать","cGreen":"Повторить","cOrange":"Нравится","cRed":"Отменить","change_email":"Сменить адрес электронной почты","change_email_error":"Произошла ошибка при попытке изменить электронную почту.","changed_email":"Электронная почта изменена успешно!","change_password":"Сменить пароль","change_password_error":"Произошла ошибка при попытке изменить пароль.","changed_password":"Пароль изменён успешно!","collapse_subject":"Сворачивать статусы с темой","confirm_new_password":"Подтверждение нового пароля","current_avatar":"Текущий аватар","current_password":"Текущий пароль","current_profile_banner":"Текущий баннер профиля","data_import_export_tab":"Импорт / Экспорт данных","delete_account":"Удалить учетную запись","delete_account_description":"Навсегда удалить вашу учётную запись и ваши статусы.","delete_account_error":"Возникла ошибка в процессе удаления вашей учетной записи. Если это повторяется, свяжитесь с администратором данного узла.","delete_account_instructions":"Введите ваш пароль в поле ниже для подтверждения удаления.","export_theme":"Сохранить Тему","filtering":"Фильтрация","filtering_explanation":"Все статусы, содержащие данные слова, будут игнорироваться, по одному в строке","follow_export":"Экспортировать читаемых","follow_export_button":"Экспортировать читаемых в файл .csv","follow_export_processing":"Ведётся обработка, скоро вам будет предложено загрузить файл","follow_import":"Импортировать читаемых","follow_import_error":"Ошибка при импортировании читаемых","follows_imported":"Список читаемых импортирован. Обработка займёт некоторое время..","foreground":"Передний план","general":"Общие","hide_attachments_in_convo":"Прятать вложения в разговорах","hide_attachments_in_tl":"Прятать вложения в ленте","hide_isp":"Скрыть серверную панель","import_followers_from_a_csv_file":"Импортировать читаемых из файла .csv","import_theme":"Загрузить Тему","inputRadius":"Поля ввода","checkboxRadius":"Чекбоксы","instance_default":"(по умолчанию: {value})","instance_default_simple":"(по умолчанию)","interface":"Интерфейс","interfaceLanguage":"Язык интерфейса","limited_availability":"Не доступно в вашем браузере","links":"Ссылки","lock_account_description":"Сделать учетную запись закрытой — подтверждать читателей вручную","loop_video":"Зациливать видео","loop_video_silent_only":"Зацикливать только беззвучные видео (т.е. \\"гифки\\" с Mastodon)","name":"Имя","name_bio":"Личные данные","new_email":"Новый адрес электронной почты","new_password":"Новый пароль","fun":"Потешное","greentext":"Мемные стрелочки","notification_visibility":"Показывать уведомления","notification_visibility_follows":"Новые читатели","notification_visibility_likes":"Лайки","notification_visibility_mentions":"Упоминания","notification_visibility_repeats":"Повторы","no_rich_text_description":"Убрать форматирование из всех статусов","hide_follows_description":"Не показывать кого я читаю","hide_followers_description":"Не показывать кто читает меня","hide_follows_count_description":"Не показывать число читаемых пользователей","hide_followers_count_description":"Не показывать число моих читателей","show_admin_badge":"Показывать значок администратора в моем профиле","show_moderator_badge":"Показывать значок модератора в моем профиле","nsfw_clickthrough":"Включить скрытие вложений и предпросмотра ссылок для статусов щекотливого характера","oauth_tokens":"OAuth токены","token":"Токен","refresh_token":"Рефреш токен","valid_until":"Годен до","revoke_token":"Удалить","panelRadius":"Панели","pause_on_unfocused":"Приостановить загрузку когда вкладка не в фокусе","presets":"Пресеты","profile_background":"Фон профиля","profile_banner":"Баннер профиля","profile_tab":"Профиль","radii_help":"Скругление углов элементов интерфейса (в пикселях)","replies_in_timeline":"Ответы в ленте","reply_visibility_all":"Показывать все ответы","reply_visibility_following":"Показывать только ответы мне или тем кого я читаю","reply_visibility_self":"Показывать только ответы мне","autohide_floating_post_button":"Автоматически скрывать кнопку \\"Написать новый статус\\" (в мобильной версии)","saving_err":"Не удалось сохранить настройки","saving_ok":"Сохранено","security_tab":"Безопасность","scope_copy":"Копировать видимость поста при ответе (всегда включено для личных сообщений)","minimal_scopes_mode":"Показывать только личное сообщение и публичный статус в опциях видимости","set_new_avatar":"Загрузить новый аватар","set_new_profile_background":"Загрузить новый фон профиля","set_new_profile_banner":"Загрузить новый баннер профиля","settings":"Настройки","subject_input_always_show":"Всегда показывать поле ввода темы","stop_gifs":"Проигрывать GIF анимации только при наведении","streaming":"Включить автоматическую загрузку новых сообщений при прокрутке вверх","useStreamingApi":"Получать сообщения и уведомления в реальном времени","useStreamingApiWarning":"(Не рекомендуется, экспериментально, статусы могут пропадать)","text":"Текст","theme":"Тема","theme_help":"Используйте шестнадцатеричные коды цветов (#rrggbb) для настройки темы.","theme_help_v2_1":"Вы так же можете перепоределить цвета определенных компонентов нажав соотв. галочку. Используйте кнопку \\"Очистить всё\\" чтобы снять все переопределения.","theme_help_v2_2":"Под некоторыми полями ввода это идикаторы контрастности, наведите на них мышью чтобы узнать больше. Приспользовании прозрачности контраст расчитывается для наихудшего варианта.","tooltipRadius":"Всплывающие подсказки/уведомления","user_settings":"Настройки пользователя","values":{"false":"нет","true":"да"},"style":{"switcher":{"keep_color":"Оставить цвета","keep_shadows":"Оставить тени","keep_opacity":"Оставить прозрачность","keep_roundness":"Оставить скругление","keep_fonts":"Оставить шрифты","save_load_hint":"Опции \\"оставить...\\" позволяют сохранить текущие настройки при выборе другой темы или импорта её из файла. Так же они влияют на то какие компоненты будут сохранены при экспорте темы. Когда все галочки сняты все компоненты будут экспортированы.","reset":"Сбросить","clear_all":"Очистить всё","clear_opacity":"Очистить прозрачность","use_source":"Новая версия","use_snapshot":"Старая версия","keep_as_is":"Оставить, как есть","load_theme":"Загрузить тему","help":{"fe_upgraded":"Движок тем для фронт-энда Pleroma был изменен после обновления.","older_version_imported":"Файл, который вы импортировали, был сделан в старой версии фронт-энда.","future_version_imported":"Файл, который вы импортировали, был сделан в новой версии фронт-энда.","v2_imported":"Файл, который вы импортировали, был сделан под старый фронт-энд. Мы стараемся улучшить совместимость, но все еще возможны несостыковки.","upgraded_from_v2":"Фронт-энд Pleroma был изменен. Выбранная тема может выглядеть слегка по-другому.","fe_downgraded":"Версия фронт-энда Pleroma была откачена."}},"common":{"color":"Цвет","opacity":"Прозрачность","contrast":{"hint":"Уровень контраста: {ratio}, что {level} {context}","level":{"aa":"соответствует гайдлайну Level AA (минимальный)","aaa":"соответствует гайдлайну Level AAA (рекомендуемый)","bad":"не соответствует каким либо гайдлайнам"},"context":{"18pt":"для крупного (18pt+) текста","text":"для текста"}}},"common_colors":{"_tab_label":"Общие","main":"Общие цвета","foreground_hint":"См. вкладку \\"Дополнительно\\" для более детального контроля","rgbo":"Иконки, акценты, ярылки"},"advanced_colors":{"_tab_label":"Дополнительно","alert":"Фон уведомлений","alert_error":"Ошибки","badge":"Фон значков","badge_notification":"Уведомления","panel_header":"Заголовок панели","top_bar":"Верхняя полоска","borders":"Границы","buttons":"Кнопки","inputs":"Поля ввода","faint_text":"Маловажный текст","post":"Статусы и раздел \\"О себе\\"","alert_neutral":"Нейтральный","alert_warning":"Предупреждение","selectedPost":"Выбранный статус","pressed":"Нажатие","highlight":"Выделенные элементы","icons":"Иконки","poll":"График результатов опроса","wallpaper":"Фон","chat":{"border":"Границы","outgoing":"Исходящие","incoming":"Входящие"},"tabs":"Вкладки","toggled":"Включено","disabled":"Отключено","selectedMenu":"Выбранный пункт меню"},"radii":{"_tab_label":"Скругление"},"shadows":{"_tab_label":"Светотень","component":"Компонент","override":"Переопределить","shadow_id":"Тень №{value}","blur":"Размытие","spread":"Разброс","inset":"Внутренняя","hint":"Для теней вы так же можете использовать --variable в качестве цвета чтобы использовать CSS3-переменные. В таком случае прозрачность работать не будет.","filter_hint":{"always_drop_shadow":"Внимание, эта тень всегда использует {0} когда браузер поддерживает это.","drop_shadow_syntax":"{0} не поддерживает параметр {1} и ключевое слово {2}.","avatar_inset":"Одновременное использование внутренних и внешних теней на (прозрачных) аватарках может дать не те результаты что вы ожидаете.","spread_zero":"Тени с разбросом > 0 будут выглядеть как если бы разброс установлен в 0","inset_classic":"Внутренние тени будут использовать {0}"},"components":{"panel":"Панель","panelHeader":"Заголовок панели","topBar":"Верхняя полоска","avatar":"Аватар (профиль)","avatarStatus":"Аватар (в ленте)","popup":"Всплывающие подсказки","button":"Кнопки","buttonHover":"Кнопки (наведен курсор)","buttonPressed":"Кнопки (нажата)","buttonPressedHover":"Кнопки (нажата+наведен курсор)","input":"Поля ввода"}},"fonts":{"_tab_label":"Шрифты","help":"Выберите тип шрифта для использования в интерфейсе. При выборе варианта \\"другой\\" надо ввести название шрифта в точности как он называется в системе.","components":{"interface":"Интерфейс","input":"Поля ввода","post":"Текст постов","postCode":"Моноширинный текст в статусе (форматирование)"},"family":"Шрифт","size":"Размер (в пикселях)","weight":"Ширина","custom":"Другой"},"preview":{"header":"Пример","content":"Контент","error":"Ошибка стоп 000","button":"Кнопка","text":"Еще немного {0} и масенькая {1}","mono":"контента","input":"Что нового?","faint_link":"Его придется убрать","fine_print":"Если проблемы остались — ваш гуртовщик мыши плохо стоит. {0}.","header_faint":"Все идет по плану","checkbox":"Я подтверждаю что не было ни единого разрыва","link":"ссылка"}},"allow_following_move":"Автоматически начать читать новый профиль при переезде","hide_user_stats":"Не показывать статистику пользователей (например количество читателей)","discoverable":"Разрешить показывать учетную запись в поисковых системах и прочих сервисах","default_vis":"Видимость статусов по умолчанию","mutes_and_blocks":"Блокировки и игнорируемые","composing":"Составление статусов","chatMessageRadius":"Сообщения в беседе","blocks_tab":"Блокировки","import_mutes_from_a_csv_file":"Импортировать игнорируемых из CSV файла","mutes_imported":"Игнорируемые импортированы! Обработка может занять некоторое время.","mute_import_error":"Произошла ошибка при импорте игнорируемых","mute_import":"Импорт игнорируемых","block_export_button":"Экспортирует блокировки в CSV файл","mute_export_button":"Экспортирует игнорируемых пользователей в CSV файл","mute_export":"Экспорт игнорируемых","blocks_imported":"Блокировки импортированы! Обработка может занять некоторое время.","block_import_error":"Произошла ошибка при импорте блокировок","block_import":"Импорт блокировок","block_export":"Экспортировать блокировки","security":"Безопасность","app_name":"Приложение","user_mutes":"Пользователи","post_status_content_type":"Формат составляемых статусов по умолчанию","subject_line_noop":"Не копировать","subject_line_mastodon":"Как в Mastodon: скопировать как есть","subject_line_email":"Как в электронной почте: \\"re: тема\\"","subject_line_behavior":"Копировать тему в ответах","no_mutes":"Нет игнорируемых","no_blocks":"Нет блокировок","notification_visibility_emoji_reactions":"Реакции","notification_visibility_moves":"Переезды","use_contain_fit":"Не обрезать вложения в миниатюрах","profile_fields":{"value":"Значение","name":"Пункт","add_field":"Добавить поле","label":"Таблица метаданных профиля"},"play_videos_in_modal":"Проигрывать видео во всплывающей рамке","mutes_tab":"Игнорируемые","invalid_theme_imported":"Выбраный файл не является темой Pleroma. Изменений в тему не было внесено.","import_blocks_from_a_csv_file":"Импортировать блокировки из CSV файла","hide_filtered_statuses":"Не показывать отфильтрованные статусы","hide_muted_posts":"Не показывать статусы игнорируемых пользователей","hide_post_stats":"Не показывать статистику статусов (например количество отметок «Нравится»)","use_one_click_nsfw":"Открывать вложения имеющие щекотливый характер одним кликом","preload_images":"Предварительно загружать изображения","max_thumbnails":"Максимальное число миниатюр показываемых в статусе","emoji_reactions_on_timeline":"Показывать эмодзи реакции в ленте","domain_mutes":"Узлы","notification_setting_privacy":"Приватность","notification_setting_block_from_strangers":"Не показывать уведомления от пользователей которых вы не читаете","notification_setting_filters":"Фильтрация","notifications":"Уведомления","virtual_scrolling":"Оптимизировать рендеринг ленты","hide_wallpaper":"Скрыть обои узла","accent":"Акцент","upload_a_photo":"Загрузить изображение","notification_mutes":"Чтобы не получать уведомления от конкретного пользователя, заглушите его.","reset_avatar_confirm":"Вы точно хотите сбросить аватар?","reset_profile_banner":"Сбросить баннер профиля","reset_profile_background":"Сбросить фон профиля","reset_avatar":"Сбросить аватар","search_user_to_mute":"Поиск того, кого вы хотите заглушить","search_user_to_block":"Поиск того, кого вы хотите заблокировать","pad_emoji":"Разделять эмодзи пробелами, когда они добавляются из меню","avatar_size_instruction":"Рекомендуется использовать изображение больше чем 150 на 150 пикселей в качестве аватара.","enable_web_push_notifications":"Включить web push-уведомления","notification_blocks":"Блокировка пользователя выключает все уведомления от него, а также отписывает вас от него.","notification_setting_hide_notification_contents":"Скрыть отправителя и содержимое push-уведомлений","version":{"title":"Версия","frontend_version":"Версия фронт-энда","backend_version":"Версия бэк-энда"},"word_filter":"Фильтр слов","sensitive_by_default":"Помечать статусы как имеющие щекотливый характер по умолчанию","reply_visibility_self_short":"Показывать ответы только вам","reply_visibility_following_short":"Показывать ответы тем кого вы читаете","hide_all_muted_posts":"Не показывать игнорируемые статусы","hide_media_previews":"Не показывать вложения в ленте","setting_changed":"Отличается от значения по умолчанию","reset_background_confirm":"Вы точно хотите сбросить фон?","reset_banner_confirm":"Вы точно хотите сбросить баннер?","type_domains_to_mute":"Поиск узлов, которые вы хотите заглушить","more_settings":"Остальные настройки","save":"Сохранить изменения"},"timeline":{"collapse":"Свернуть","conversation":"Разговор","error_fetching":"Ошибка при обновлении","load_older":"Загрузить старые статусы","no_retweet_hint":"Статус помечен как \\"только для читателей\\" или \\"личное сообщение\\" и потому не может быть повторён","repeated":"повторил(а)","show_new":"Показать новые","up_to_date":"Обновлено","error":"Ошибка при обновлении ленты: {0}"},"status":{"bookmark":"Добавить в закладки","unbookmark":"Удалить из закладок","status_deleted":"Статус удален","reply_to":"Ответ","repeats":"Повторы","favorites":"Понравилось","unmute_conversation":"Прекратить игнорировать разговор","mute_conversation":"Игнорировать разговор","thread_muted":"Разговор игнорируется","external_source":"Перейти к источнику","delete_confirm":"Вы действительно хотите удалить данный статус?","delete":"Удалить","copy_link":"Скопировать ссылку"},"user_card":{"block":"Заблокировать","blocked":"Заблокирован","favorites":"Понравившиеся","follow":"Читать","follow_sent":"Запрос отправлен!","follow_progress":"Запрашиваем…","follow_again":"Запросить еще раз?","follow_unfollow":"Перестать читать","followees":"Читаемые","followers":"Читатели","following":"Читаете!","follows_you":"Читает вас!","mute":"Игнорировать","muted":"Игнорирую","per_day":"в день","remote_follow":"Читать удалённо","statuses":"Статусы","admin_menu":{"moderation":"Опции модератора","grant_admin":"Сделать администратором","revoke_admin":"Забрать права администратора","grant_moderator":"Сделать модератором","revoke_moderator":"Забрать права модератора","activate_account":"Активировать учетную запись","deactivate_account":"Деактивировать учетную запись","delete_account":"Удалить учетную запись","force_nsfw":"Отмечать статусы пользователя как имеющие щекотливый характер","strip_media":"Убирать вложения из статусов пользователя","force_unlisted":"Не показывать статусы в публичных лентах","sandbox":"Принудить видимость постов только читателям","disable_remote_subscription":"Запретить читать с других узлов","disable_any_subscription":"Запретить читать пользователя","quarantine":"Не федерировать статусы пользователя","delete_user":"Удалить пользователя","delete_user_confirmation":"Вы уверены? Это действие нельзя отменить."},"media":"С вложениями","mention":"Упомянуть","show_repeats":"Показывать повторы","hide_repeats":"Скрыть повторы","report":"Пожаловаться","message":"Написать сообщение","highlight":{"side":"Полоска сбоку","striped":"Фон в полоску","solid":"Сплошной фон","disabled":"Нет выделения"}},"user_profile":{"timeline_title":"Лента пользователя"},"search":{"people":"Люди","hashtags":"Хэштэги","person_talking":"Популярно у {count} человека","people_talking":"Популярно у {count} человек","no_results":"Ничего не найдено"},"password_reset":{"forgot_password":"Забыли пароль?","password_reset":"Сброс пароля","instruction":"Введите ваш адрес электронной почты или имя пользователя: на вашу электронную почту будет отправлена ссылка для сброса пароля.","placeholder":"Ваш адрес электронной почты или имя пользователя","check_email":"Проверьте вашу электронную почту и перейдите по ссылке для сброса пароля.","return_home":"Вернуться на главную страницу","too_many_requests":"Вы исчерпали допустимое количество попыток, попробуйте позже.","password_reset_disabled":"Автоматический сброс пароля отключен. Свяжитесь с администратором данного узла для сброса пароля.","password_reset_required_but_mailer_is_disabled":"Вы должны сбросить свой пароль, однако автоматический сброс пароля отключен. Пожалуйста свяжитесь с администратором данного узла."},"about":{"mrf":{"federation":"Федерация","simple":{"accept_desc":"Данный узел принимает сообщения только со следующих узлов:","ftl_removal_desc":"Данный узел скрывает следующие узлы с федеративной ленты:","media_nsfw_desc":"Данный узел принужденно помечает вложения со следующих узлов как имеющие щекотливый характер:","simple_policies":"Правила для определенных узлов","accept":"Белый список","reject":"Черный список","reject_desc":"Данный узел не принимает сообщения со следующих узлов:","quarantine":"Зона карантина","quarantine_desc":"Данный узел отправляет только публичные статусы следующим узлам:","ftl_removal":"Скрытие с федеративной ленты","media_removal":"Удаление вложений","media_removal_desc":"Данный узел удаляет вложения со следующих узлов:","media_nsfw":"Принужденно помеченно как имеющее щекотливый характер"},"keyword":{"ftl_removal":"Убрать из федеративной ленты","reject":"Отклонить","keyword_policies":"Действия на ключевые слова","replace":"Заменить","is_replaced_by":"→"},"mrf_policies":"Активные правила MRF (модуль переписывания сообщений)","mrf_policies_desc":"Правила MRF (модуль переписывания сообщений) влияют на федерацию данного узла. Следующие правила активны:"},"staff":"Администрация"},"domain_mute_card":{"mute":"Игнорировать","mute_progress":"В процессе…","unmute":"Прекратить игнорирование","unmute_progress":"В процессе…"},"exporter":{"export":"Экспорт","processing":"Запрос в обработке, вам скоро будет предложено загрузить файл"},"features_panel":{"chat":"Чат","media_proxy":"Прокси для внешних вложений","text_limit":"Лимит символов","title":"Особенности","gopher":"Gopher","who_to_follow":"Предложения кого читать","pleroma_chat_messages":"Pleroma Чат","upload_limit":"Наибольший размер загружаемого файла","scope_options":"Настраиваемая видимость статусов"},"tool_tip":{"accept_follow_request":"Принять запрос на чтение","reject_follow_request":"Отклонить запрос на чтение","media_upload":"Прикрепить вложение"},"image_cropper":{"save_without_cropping":"Сохранить не обрезая","save":"Сохранить","crop_picture":"Обрезать картинку","cancel":"Отменить"},"errors":{"storage_unavailable":"Pleroma не смогла получить доступ к хранилищу браузера. Ваша сессия и настройки не будут сохранены, и вы можете столкнуться с непредвиденными проблемами. Попробуйте включить файлы cookie."},"polls":{"not_enough_options":"Недостаточно уникальных вариантов в опросе","expired":"Опрос закончился {0} назад","expires_in":"Опрос заканчивается через {0}","expiry":"Срок опроса","multiple_choices":"Несколько вариантов","single_choice":"Один вариант","type":"Тип опроса","vote":"Проголосовать","votes":"голосов","option":"Вариант","add_option":"Добавить вариант","add_poll":"Прикрепить опрос","votes_count":"{count} голос | {count} голосов","people_voted_count":"{count} человек проголосовал | {count} человек проголосовали"},"media_modal":{"next":"Следующая","previous":"Предыдущая"},"importer":{"error":"Произошла ошибка при импорте файла.","success":"Импорт прошел успешно.","submit":"Отправить"},"selectable_list":{"select_all":"Выбрать все"},"emoji":{"load_all":"Все {emojiAmount} эмодзи загружаются","load_all_hint":"Загружены первые {saneAmount} эмодзи, загрузка всех эмодзи может привести к проблемам с производительностью.","unicode":"Стандартные эмодзи","custom":"Пользовательские эмодзи","add_emoji":"Добавить эмодзи","search_emoji":"Поиск эмодзи","keep_open":"Оставить окно выбора открытым","emoji":"Эмодзи","stickers":"Стикеры"},"shoutbox":{"title":"Болтовня"},"time":{"days_short":"{0}дн","years_short":"{0}г","year_short":"{0}г","weeks_short":"{0}нед","week_short":"{0}нед","seconds_short":"{0}сек","second_short":"{0}с","now_short":"только что","now":"только что","months_short":"{0}мес","month_short":"{0}мес","minutes_short":"{0}мин","minute_short":"{0}мин","in_past":"{0} назад","in_future":"через {0}","hours_short":"{0}ч","hour_short":"{0}ч","hour":"{0} час","day_short":"{0}д","days":"{0} дней"},"chats":{"empty_chat_list_placeholder":"У вас пока нет бесед. Начните одну!","delete_confirm":"Вы точно хотите удалить сообщение?","empty_message_error":"Нельзя отправить пустое сообщение","new":"Новая беседа","chats":"Беседы","delete":"Удалить","message_user":"Напишите {nickname}","you":"Вы:","error_sending_message":"Произошла ошибка при отправке сообщения."},"remote_user_resolver":{"error":"Не найдено.","searching_for":"Ищем"},"upload":{"error":{"message":"Произошла ошибка при загрузке: {0}"}},"user_reporting":{"add_comment_description":"Жалоба будет направлена модераторам вашего узла. Вы можете указать причину жалобы ниже:","forward_description":"Данный пользователь находится на другом узле. Отослать туда копию вашей жалобы?"},"file_type":{"file":"Файл","video":"Видеозапись","audio":"Аудиозапись","image":"Изображение"}}')}}]); -//# sourceMappingURL=28.a88999ebb3f7ec930aad.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{621:function(e){e.exports=JSON.parse('{"chat":{"title":"Чат"},"finder":{"error_fetching_user":"Пользователь не найден","find_user":"Найти пользователя"},"general":{"apply":"Применить","submit":"Отправить","cancel":"Отмена","disable":"Оключить","enable":"Включить","confirm":"Подтвердить","verify":"Подтверждение","more":"Больше","generic_error":"Произошла ошибка","optional":"не обязательно","show_less":"Показать меньше","show_more":"Показать больше","peek":"Свернуть","dismiss":"Закрыть","retry":"Попробуйте еще раз","error_retry":"Пожалуйста попробуйте еще раз","close":"Закрыть","loading":"Загрузка…","role":{"moderator":"Модератор","admin":"Администратор"}},"login":{"login":"Войти","logout":"Выйти","password":"Пароль","placeholder":"e.c. lain","register":"Зарегистрироваться","username":"Имя пользователя","authentication_code":"Код аутентификации","enter_recovery_code":"Ввести код восстановления","enter_two_factor_code":"Ввести код аутентификации","recovery_code":"Код восстановления","heading":{"TotpForm":"Двухфакторная аутентификация","RecoveryForm":"Two-factor recovery","totp":"Двухэтапная аутентификация","recovery":"Восстановление двухэтапной аутентификации"},"hint":"Войдите чтобы присоединиться к дискуссии","description":"Войти с помощью OAuth"},"nav":{"back":"Назад","chat":"Локальный чат","mentions":"Упоминания","interactions":"Взаимодействия","public_tl":"Локальная лента","timeline":"Главная","twkn":"Федеративная лента","search":"Поиск","friend_requests":"Запросы на чтение","bookmarks":"Закладки","chats":"Беседы","timelines":"Ленты","preferences":"Настройки","who_to_follow":"Кого читать","dms":"Личные сообщения","administration":"Панель администратора","about":"Об узле","user_search":"Поиск пользователей","home_timeline":"Главная"},"notifications":{"broken_favorite":"Неизвестный статус, ищем…","favorited_you":"нравится ваш статус","followed_you":"начал(а) читать вас","load_older":"Загрузить старые уведомления","notifications":"Уведомления","read":"Прочесть","repeated_you":"повторил(а) ваш статус","follow_request":"хочет читать вас","reacted_with":"добавил(а) реакцию: {0}","migrated_to":"перехал на","no_more_notifications":"Нет дальнейших уведомлений","error":"Ошибка при обновлении уведомлений: {0}"},"interactions":{"favs_repeats":"Повторы и отметки «Нравится»","follows":"Новые читатели","load_older":"Загрузить старые взаимодействия","moves":"Переезды"},"post_status":{"account_not_locked_warning":"Ваша учетная запись не {0}. Кто угодно может начать читать вас чтобы видеть статусы только для читателей.","account_not_locked_warning_link":"закрыт","attachments_sensitive":"Вложения имеют щекотливый характер","content_warning":"Тема (не обязательно)","default":"Что нового?","direct_warning":"Этот пост будет виден только упомянутым пользователям","posting":"Отправляется","scope_notice":{"public":"Этот статус будет виден всем","private":"Этот статус будет виден только вашим читателям","unlisted":"Этот статус не будет виден в локальной и федеративной ленте"},"scope":{"direct":"Личное сообщение - этот статус видят только те, кто в нём упомянут","private":"Для читателей - этот статус видят только ваши читатели","public":"Публичный - этот статус виден всем","unlisted":"Тихий - этот пост виден всем, но не отображается в публичных лентах"},"preview_empty":"Пустой предпросмотр","media_description_error":"Не удалось обновить вложение, попробуйте еще раз","empty_status_error":"Нельзя отправить пустой статус без вложений","preview":"Предпросмотр","direct_warning_to_first_only":"Это сообщение увидят только пользователи упомянутые в его начале.","direct_warning_to_all":"Это сообщение увидят все упомянутые пользователи.","content_type":{"text/bbcode":"BBCode","text/html":"HTML","text/markdown":"Markdown","text/plain":"Простой текст"},"media_description":"Описание вложения","new_status":"Написать новый статус","post":"Опубликовать"},"registration":{"bio":"О себе","email":"Электронная почта","fullname":"Отображаемое имя","password_confirm":"Подтверждение пароля","registration":"Регистрация","token":"Код приглашения","validations":{"username_required":"не должно быть пустым","fullname_required":"не должно быть пустым","email_required":"не должен быть пустым","password_required":"не должен быть пустым","password_confirmation_required":"не должно быть пустым","password_confirmation_match":"должно совпадать с паролем"},"bio_placeholder":"например:\\nПривет, я Игорь Печкин.\\nРаботаю почтальоном в деревне Простоквашино. С недавних пор велосипедист.","fullname_placeholder":"например: Почтальон Печкин","username_placeholder":"например: pechkin","captcha":"Код подтверждения","new_captcha":"Нажмите на изображение чтобы получить новый код","reason_placeholder":"Данный узел обрабатывает запросы на регистрацию вручную.\\nРасскажите администрации почему вы хотите зарегистрироваться.","reason":"Причина регистрации","register":"Зарегистрироваться"},"settings":{"enter_current_password_to_confirm":"Введите свой текущий пароль","mfa":{"otp":"OTP","setup_otp":"Настройка OTP","wait_pre_setup_otp":"предварительная настройка OTP","confirm_and_enable":"Подтвердить и включить OTP","title":"Двухэтапная аутентификация","generate_new_recovery_codes":"Получить новые коды востановления","warning_of_generate_new_codes":"После получения новых кодов восстановления, старые больше не будут работать.","recovery_codes":"Коды восстановления.","waiting_a_recovery_codes":"Получение кодов восстановления…","recovery_codes_warning":"Запишите эти коды и держите в безопасном месте - иначе вы их больше не увидите. Если вы потеряете доступ к OTP приложению - без резервных кодов вы больше не сможете залогиниться.","authentication_methods":"Методы аутентификации","scan":{"title":"Сканирование","desc":"Отсканируйте QR-код приложением для двухэтапной аутентификации или введите текстовый ключ:","secret_code":"Ключ"},"verify":{"desc":"Чтобы включить двухэтапную аутентификацию, введите код из приложения-аутентификатора:"}},"attachmentRadius":"Прикреплённые файлы","attachments":"Вложения","avatar":"Аватар","avatarAltRadius":"Аватары в уведомлениях","avatarRadius":"Аватары","background":"Фон","bio":"О себе","btnRadius":"Кнопки","bot":"Это учётная запись бота","cBlue":"Ответить, читать","cGreen":"Повторить","cOrange":"Нравится","cRed":"Отменить","change_email":"Сменить адрес электронной почты","change_email_error":"Произошла ошибка при попытке изменить электронную почту.","changed_email":"Электронная почта изменена успешно!","change_password":"Сменить пароль","change_password_error":"Произошла ошибка при попытке изменить пароль.","changed_password":"Пароль изменён успешно!","collapse_subject":"Сворачивать статусы с темой","confirm_new_password":"Подтверждение нового пароля","current_avatar":"Текущий аватар","current_password":"Текущий пароль","current_profile_banner":"Текущий баннер профиля","data_import_export_tab":"Импорт / Экспорт данных","delete_account":"Удалить учетную запись","delete_account_description":"Навсегда удалить вашу учётную запись и ваши статусы.","delete_account_error":"Возникла ошибка в процессе удаления вашей учетной записи. Если это повторяется, свяжитесь с администратором данного узла.","delete_account_instructions":"Введите ваш пароль в поле ниже для подтверждения удаления.","export_theme":"Сохранить Тему","filtering":"Фильтрация","filtering_explanation":"Все статусы, содержащие данные слова, будут игнорироваться, по одному в строке","follow_export":"Экспортировать читаемых","follow_export_button":"Экспортировать читаемых в файл .csv","follow_export_processing":"Ведётся обработка, скоро вам будет предложено загрузить файл","follow_import":"Импортировать читаемых","follow_import_error":"Ошибка при импортировании читаемых","follows_imported":"Список читаемых импортирован. Обработка займёт некоторое время..","foreground":"Передний план","general":"Общие","hide_attachments_in_convo":"Прятать вложения в разговорах","hide_attachments_in_tl":"Прятать вложения в ленте","hide_isp":"Скрыть серверную панель","import_followers_from_a_csv_file":"Импортировать читаемых из файла .csv","import_theme":"Загрузить Тему","inputRadius":"Поля ввода","checkboxRadius":"Чекбоксы","instance_default":"(по умолчанию: {value})","instance_default_simple":"(по умолчанию)","interface":"Интерфейс","interfaceLanguage":"Язык интерфейса","limited_availability":"Не доступно в вашем браузере","links":"Ссылки","lock_account_description":"Сделать учетную запись закрытой — подтверждать читателей вручную","loop_video":"Зациливать видео","loop_video_silent_only":"Зацикливать только беззвучные видео (т.е. \\"гифки\\" с Mastodon)","name":"Имя","name_bio":"Личные данные","new_email":"Новый адрес электронной почты","new_password":"Новый пароль","fun":"Потешное","greentext":"Мемные стрелочки","notification_visibility":"Показывать уведомления","notification_visibility_follows":"Новые читатели","notification_visibility_likes":"Лайки","notification_visibility_mentions":"Упоминания","notification_visibility_repeats":"Повторы","no_rich_text_description":"Убрать форматирование из всех статусов","hide_follows_description":"Не показывать кого я читаю","hide_followers_description":"Не показывать кто читает меня","hide_follows_count_description":"Не показывать число читаемых пользователей","hide_followers_count_description":"Не показывать число моих читателей","show_admin_badge":"Показывать значок администратора в моем профиле","show_moderator_badge":"Показывать значок модератора в моем профиле","nsfw_clickthrough":"Включить скрытие вложений и предпросмотра ссылок для статусов щекотливого характера","oauth_tokens":"OAuth токены","token":"Токен","refresh_token":"Рефреш токен","valid_until":"Годен до","revoke_token":"Удалить","panelRadius":"Панели","pause_on_unfocused":"Приостановить загрузку когда вкладка не в фокусе","presets":"Пресеты","profile_background":"Фон профиля","profile_banner":"Баннер профиля","profile_tab":"Профиль","radii_help":"Скругление углов элементов интерфейса (в пикселях)","replies_in_timeline":"Ответы в ленте","reply_visibility_all":"Показывать все ответы","reply_visibility_following":"Показывать только ответы мне или тем кого я читаю","reply_visibility_self":"Показывать только ответы мне","autohide_floating_post_button":"Автоматически скрывать кнопку \\"Написать новый статус\\" (в мобильной версии)","saving_err":"Не удалось сохранить настройки","saving_ok":"Сохранено","security_tab":"Безопасность","scope_copy":"Копировать видимость поста при ответе (всегда включено для личных сообщений)","minimal_scopes_mode":"Показывать только личное сообщение и публичный статус в опциях видимости","set_new_avatar":"Загрузить новый аватар","set_new_profile_background":"Загрузить новый фон профиля","set_new_profile_banner":"Загрузить новый баннер профиля","settings":"Настройки","subject_input_always_show":"Всегда показывать поле ввода темы","stop_gifs":"Проигрывать GIF анимации только при наведении","streaming":"Включить автоматическую загрузку новых сообщений при прокрутке вверх","useStreamingApi":"Получать сообщения и уведомления в реальном времени","useStreamingApiWarning":"(Не рекомендуется, экспериментально, статусы могут пропадать)","text":"Текст","theme":"Тема","theme_help":"Используйте шестнадцатеричные коды цветов (#rrggbb) для настройки темы.","theme_help_v2_1":"Вы так же можете перепоределить цвета определенных компонентов нажав соотв. галочку. Используйте кнопку \\"Очистить всё\\" чтобы снять все переопределения.","theme_help_v2_2":"Под некоторыми полями ввода это идикаторы контрастности, наведите на них мышью чтобы узнать больше. Приспользовании прозрачности контраст расчитывается для наихудшего варианта.","tooltipRadius":"Всплывающие подсказки/уведомления","user_settings":"Настройки пользователя","values":{"false":"нет","true":"да"},"style":{"switcher":{"keep_color":"Оставить цвета","keep_shadows":"Оставить тени","keep_opacity":"Оставить прозрачность","keep_roundness":"Оставить скругление","keep_fonts":"Оставить шрифты","save_load_hint":"Опции \\"оставить...\\" позволяют сохранить текущие настройки при выборе другой темы или импорта её из файла. Так же они влияют на то какие компоненты будут сохранены при экспорте темы. Когда все галочки сняты все компоненты будут экспортированы.","reset":"Сбросить","clear_all":"Очистить всё","clear_opacity":"Очистить прозрачность","use_source":"Новая версия","use_snapshot":"Старая версия","keep_as_is":"Оставить, как есть","load_theme":"Загрузить тему","help":{"fe_upgraded":"Движок тем для фронт-энда Pleroma был изменен после обновления.","older_version_imported":"Файл, который вы импортировали, был сделан в старой версии фронт-энда.","future_version_imported":"Файл, который вы импортировали, был сделан в новой версии фронт-энда.","v2_imported":"Файл, который вы импортировали, был сделан под старый фронт-энд. Мы стараемся улучшить совместимость, но все еще возможны несостыковки.","upgraded_from_v2":"Фронт-энд Pleroma был изменен. Выбранная тема может выглядеть слегка по-другому.","fe_downgraded":"Версия фронт-энда Pleroma была откачена."}},"common":{"color":"Цвет","opacity":"Прозрачность","contrast":{"hint":"Уровень контраста: {ratio}, что {level} {context}","level":{"aa":"соответствует гайдлайну Level AA (минимальный)","aaa":"соответствует гайдлайну Level AAA (рекомендуемый)","bad":"не соответствует каким либо гайдлайнам"},"context":{"18pt":"для крупного (18pt+) текста","text":"для текста"}}},"common_colors":{"_tab_label":"Общие","main":"Общие цвета","foreground_hint":"См. вкладку \\"Дополнительно\\" для более детального контроля","rgbo":"Иконки, акценты, ярылки"},"advanced_colors":{"_tab_label":"Дополнительно","alert":"Фон уведомлений","alert_error":"Ошибки","badge":"Фон значков","badge_notification":"Уведомления","panel_header":"Заголовок панели","top_bar":"Верхняя полоска","borders":"Границы","buttons":"Кнопки","inputs":"Поля ввода","faint_text":"Маловажный текст","post":"Статусы и раздел \\"О себе\\"","alert_neutral":"Нейтральный","alert_warning":"Предупреждение","selectedPost":"Выбранный статус","pressed":"Нажатие","highlight":"Выделенные элементы","icons":"Иконки","poll":"График результатов опроса","wallpaper":"Фон","chat":{"border":"Границы","outgoing":"Исходящие","incoming":"Входящие"},"tabs":"Вкладки","toggled":"Включено","disabled":"Отключено","selectedMenu":"Выбранный пункт меню"},"radii":{"_tab_label":"Скругление"},"shadows":{"_tab_label":"Светотень","component":"Компонент","override":"Переопределить","shadow_id":"Тень №{value}","blur":"Размытие","spread":"Разброс","inset":"Внутренняя","hint":"Для теней вы так же можете использовать --variable в качестве цвета чтобы использовать CSS3-переменные. В таком случае прозрачность работать не будет.","filter_hint":{"always_drop_shadow":"Внимание, эта тень всегда использует {0} когда браузер поддерживает это.","drop_shadow_syntax":"{0} не поддерживает параметр {1} и ключевое слово {2}.","avatar_inset":"Одновременное использование внутренних и внешних теней на (прозрачных) аватарках может дать не те результаты что вы ожидаете.","spread_zero":"Тени с разбросом > 0 будут выглядеть как если бы разброс установлен в 0","inset_classic":"Внутренние тени будут использовать {0}"},"components":{"panel":"Панель","panelHeader":"Заголовок панели","topBar":"Верхняя полоска","avatar":"Аватар (профиль)","avatarStatus":"Аватар (в ленте)","popup":"Всплывающие подсказки","button":"Кнопки","buttonHover":"Кнопки (наведен курсор)","buttonPressed":"Кнопки (нажата)","buttonPressedHover":"Кнопки (нажата+наведен курсор)","input":"Поля ввода"}},"fonts":{"_tab_label":"Шрифты","help":"Выберите тип шрифта для использования в интерфейсе. При выборе варианта \\"другой\\" надо ввести название шрифта в точности как он называется в системе.","components":{"interface":"Интерфейс","input":"Поля ввода","post":"Текст постов","postCode":"Моноширинный текст в статусе (форматирование)"},"family":"Шрифт","size":"Размер (в пикселях)","weight":"Ширина","custom":"Другой"},"preview":{"header":"Пример","content":"Контент","error":"Ошибка стоп 000","button":"Кнопка","text":"Еще немного {0} и масенькая {1}","mono":"контента","input":"Что нового?","faint_link":"Его придется убрать","fine_print":"Если проблемы остались — ваш гуртовщик мыши плохо стоит. {0}.","header_faint":"Все идет по плану","checkbox":"Я подтверждаю что не было ни единого разрыва","link":"ссылка"}},"allow_following_move":"Автоматически начать читать новый профиль при переезде","hide_user_stats":"Не показывать статистику пользователей (например количество читателей)","discoverable":"Разрешить показывать учетную запись в поисковых системах и прочих сервисах","default_vis":"Видимость статусов по умолчанию","mutes_and_blocks":"Блокировки и игнорируемые","composing":"Составление статусов","chatMessageRadius":"Сообщения в беседе","blocks_tab":"Блокировки","import_mutes_from_a_csv_file":"Импортировать игнорируемых из CSV файла","mutes_imported":"Игнорируемые импортированы! Обработка может занять некоторое время.","mute_import_error":"Произошла ошибка при импорте игнорируемых","mute_import":"Импорт игнорируемых","block_export_button":"Экспортирует блокировки в CSV файл","mute_export_button":"Экспортирует игнорируемых пользователей в CSV файл","mute_export":"Экспорт игнорируемых","blocks_imported":"Блокировки импортированы! Обработка может занять некоторое время.","block_import_error":"Произошла ошибка при импорте блокировок","block_import":"Импорт блокировок","block_export":"Экспортировать блокировки","security":"Безопасность","app_name":"Приложение","user_mutes":"Пользователи","post_status_content_type":"Формат составляемых статусов по умолчанию","subject_line_noop":"Не копировать","subject_line_mastodon":"Как в Mastodon: скопировать как есть","subject_line_email":"Как в электронной почте: \\"re: тема\\"","subject_line_behavior":"Копировать тему в ответах","no_mutes":"Нет игнорируемых","no_blocks":"Нет блокировок","notification_visibility_emoji_reactions":"Реакции","notification_visibility_moves":"Переезды","use_contain_fit":"Не обрезать вложения в миниатюрах","profile_fields":{"value":"Значение","name":"Пункт","add_field":"Добавить поле","label":"Таблица метаданных профиля"},"play_videos_in_modal":"Проигрывать видео во всплывающей рамке","mutes_tab":"Игнорируемые","invalid_theme_imported":"Выбраный файл не является темой Pleroma. Изменений в тему не было внесено.","import_blocks_from_a_csv_file":"Импортировать блокировки из CSV файла","hide_filtered_statuses":"Не показывать отфильтрованные статусы","hide_muted_posts":"Не показывать статусы игнорируемых пользователей","hide_post_stats":"Не показывать статистику статусов (например количество отметок «Нравится»)","use_one_click_nsfw":"Открывать вложения имеющие щекотливый характер одним кликом","preload_images":"Предварительно загружать изображения","max_thumbnails":"Максимальное число миниатюр показываемых в статусе","emoji_reactions_on_timeline":"Показывать эмодзи реакции в ленте","domain_mutes":"Узлы","notification_setting_privacy":"Приватность","notification_setting_block_from_strangers":"Не показывать уведомления от пользователей которых вы не читаете","notification_setting_filters":"Фильтрация","notifications":"Уведомления","virtual_scrolling":"Оптимизировать рендеринг ленты","hide_wallpaper":"Скрыть обои узла","accent":"Акцент","upload_a_photo":"Загрузить изображение","notification_mutes":"Чтобы не получать уведомления от конкретного пользователя, заглушите его.","reset_avatar_confirm":"Вы точно хотите сбросить аватар?","reset_profile_banner":"Сбросить баннер профиля","reset_profile_background":"Сбросить фон профиля","reset_avatar":"Сбросить аватар","search_user_to_mute":"Поиск того, кого вы хотите заглушить","search_user_to_block":"Поиск того, кого вы хотите заблокировать","pad_emoji":"Разделять эмодзи пробелами, когда они добавляются из меню","avatar_size_instruction":"Рекомендуется использовать изображение больше чем 150 на 150 пикселей в качестве аватара.","enable_web_push_notifications":"Включить web push-уведомления","notification_blocks":"Блокировка пользователя выключает все уведомления от него, а также отписывает вас от него.","notification_setting_hide_notification_contents":"Скрыть отправителя и содержимое push-уведомлений","version":{"title":"Версия","frontend_version":"Версия фронт-энда","backend_version":"Версия бэк-энда"},"word_filter":"Фильтр слов","sensitive_by_default":"Помечать статусы как имеющие щекотливый характер по умолчанию","reply_visibility_self_short":"Показывать ответы только вам","reply_visibility_following_short":"Показывать ответы тем кого вы читаете","hide_all_muted_posts":"Не показывать игнорируемые статусы","hide_media_previews":"Не показывать вложения в ленте","setting_changed":"Отличается от значения по умолчанию","reset_background_confirm":"Вы точно хотите сбросить фон?","reset_banner_confirm":"Вы точно хотите сбросить баннер?","type_domains_to_mute":"Поиск узлов, которые вы хотите заглушить","more_settings":"Остальные настройки","save":"Сохранить изменения"},"timeline":{"collapse":"Свернуть","conversation":"Разговор","error_fetching":"Ошибка при обновлении","load_older":"Загрузить старые статусы","no_retweet_hint":"Статус помечен как \\"только для читателей\\" или \\"личное сообщение\\" и потому не может быть повторён","repeated":"повторил(а)","show_new":"Показать новые","up_to_date":"Обновлено","error":"Ошибка при обновлении ленты: {0}"},"status":{"bookmark":"Добавить в закладки","unbookmark":"Удалить из закладок","status_deleted":"Статус удален","reply_to":"Ответ","repeats":"Повторы","favorites":"Понравилось","unmute_conversation":"Прекратить игнорировать разговор","mute_conversation":"Игнорировать разговор","thread_muted":"Разговор игнорируется","external_source":"Перейти к источнику","delete_confirm":"Вы действительно хотите удалить данный статус?","delete":"Удалить","copy_link":"Скопировать ссылку"},"user_card":{"block":"Заблокировать","blocked":"Заблокирован","favorites":"Понравившиеся","follow":"Читать","follow_sent":"Запрос отправлен!","follow_progress":"Запрашиваем…","follow_unfollow":"Перестать читать","followees":"Читаемые","followers":"Читатели","following":"Читаете!","follows_you":"Читает вас!","mute":"Игнорировать","muted":"Игнорирую","per_day":"в день","remote_follow":"Читать удалённо","statuses":"Статусы","admin_menu":{"moderation":"Опции модератора","grant_admin":"Сделать администратором","revoke_admin":"Забрать права администратора","grant_moderator":"Сделать модератором","revoke_moderator":"Забрать права модератора","activate_account":"Активировать учетную запись","deactivate_account":"Деактивировать учетную запись","delete_account":"Удалить учетную запись","force_nsfw":"Отмечать статусы пользователя как имеющие щекотливый характер","strip_media":"Убирать вложения из статусов пользователя","force_unlisted":"Не показывать статусы в публичных лентах","sandbox":"Принудить видимость постов только читателям","disable_remote_subscription":"Запретить читать с других узлов","disable_any_subscription":"Запретить читать пользователя","quarantine":"Не федерировать статусы пользователя","delete_user":"Удалить пользователя","delete_user_confirmation":"Вы уверены? Это действие нельзя отменить."},"media":"С вложениями","mention":"Упомянуть","show_repeats":"Показывать повторы","hide_repeats":"Скрыть повторы","report":"Пожаловаться","message":"Написать сообщение","highlight":{"side":"Полоска сбоку","striped":"Фон в полоску","solid":"Сплошной фон","disabled":"Нет выделения"}},"user_profile":{"timeline_title":"Лента пользователя"},"search":{"people":"Люди","hashtags":"Хэштэги","person_talking":"Популярно у {count} человека","people_talking":"Популярно у {count} человек","no_results":"Ничего не найдено"},"password_reset":{"forgot_password":"Забыли пароль?","password_reset":"Сброс пароля","instruction":"Введите ваш адрес электронной почты или имя пользователя: на вашу электронную почту будет отправлена ссылка для сброса пароля.","placeholder":"Ваш адрес электронной почты или имя пользователя","check_email":"Проверьте вашу электронную почту и перейдите по ссылке для сброса пароля.","return_home":"Вернуться на главную страницу","too_many_requests":"Вы исчерпали допустимое количество попыток, попробуйте позже.","password_reset_disabled":"Автоматический сброс пароля отключен. Свяжитесь с администратором данного узла для сброса пароля.","password_reset_required_but_mailer_is_disabled":"Вы должны сбросить свой пароль, однако автоматический сброс пароля отключен. Пожалуйста свяжитесь с администратором данного узла."},"about":{"mrf":{"federation":"Федерация","simple":{"accept_desc":"Данный узел принимает сообщения только со следующих узлов:","ftl_removal_desc":"Данный узел скрывает следующие узлы с федеративной ленты:","media_nsfw_desc":"Данный узел принужденно помечает вложения со следующих узлов как имеющие щекотливый характер:","simple_policies":"Правила для определенных узлов","accept":"Белый список","reject":"Черный список","reject_desc":"Данный узел не принимает сообщения со следующих узлов:","quarantine":"Зона карантина","quarantine_desc":"Данный узел отправляет только публичные статусы следующим узлам:","ftl_removal":"Скрытие с федеративной ленты","media_removal":"Удаление вложений","media_removal_desc":"Данный узел удаляет вложения со следующих узлов:","media_nsfw":"Принужденно помеченно как имеющее щекотливый характер"},"keyword":{"ftl_removal":"Убрать из федеративной ленты","reject":"Отклонить","keyword_policies":"Действия на ключевые слова","replace":"Заменить","is_replaced_by":"→"},"mrf_policies":"Активные правила MRF (модуль переписывания сообщений)","mrf_policies_desc":"Правила MRF (модуль переписывания сообщений) влияют на федерацию данного узла. Следующие правила активны:"},"staff":"Администрация"},"domain_mute_card":{"mute":"Игнорировать","mute_progress":"В процессе…","unmute":"Прекратить игнорирование","unmute_progress":"В процессе…"},"exporter":{"export":"Экспорт","processing":"Запрос в обработке, вам скоро будет предложено загрузить файл"},"features_panel":{"chat":"Чат","media_proxy":"Прокси для внешних вложений","text_limit":"Лимит символов","title":"Особенности","gopher":"Gopher","who_to_follow":"Предложения кого читать","pleroma_chat_messages":"Pleroma Чат","upload_limit":"Наибольший размер загружаемого файла","scope_options":"Настраиваемая видимость статусов"},"tool_tip":{"accept_follow_request":"Принять запрос на чтение","reject_follow_request":"Отклонить запрос на чтение","media_upload":"Прикрепить вложение"},"image_cropper":{"save_without_cropping":"Сохранить не обрезая","save":"Сохранить","crop_picture":"Обрезать картинку","cancel":"Отменить"},"errors":{"storage_unavailable":"Pleroma не смогла получить доступ к хранилищу браузера. Ваша сессия и настройки не будут сохранены, и вы можете столкнуться с непредвиденными проблемами. Попробуйте включить файлы cookie."},"polls":{"not_enough_options":"Недостаточно уникальных вариантов в опросе","expired":"Опрос закончился {0} назад","expires_in":"Опрос заканчивается через {0}","expiry":"Срок опроса","multiple_choices":"Несколько вариантов","single_choice":"Один вариант","type":"Тип опроса","vote":"Проголосовать","votes":"голосов","option":"Вариант","add_option":"Добавить вариант","add_poll":"Прикрепить опрос","votes_count":"{count} голос | {count} голосов","people_voted_count":"{count} человек проголосовал | {count} человек проголосовали"},"media_modal":{"next":"Следующая","previous":"Предыдущая"},"importer":{"error":"Произошла ошибка при импорте файла.","success":"Импорт прошел успешно.","submit":"Отправить"},"selectable_list":{"select_all":"Выбрать все"},"emoji":{"load_all":"Все {emojiAmount} эмодзи загружаются","load_all_hint":"Загружены первые {saneAmount} эмодзи, загрузка всех эмодзи может привести к проблемам с производительностью.","unicode":"Стандартные эмодзи","custom":"Пользовательские эмодзи","add_emoji":"Добавить эмодзи","search_emoji":"Поиск эмодзи","keep_open":"Оставить окно выбора открытым","emoji":"Эмодзи","stickers":"Стикеры"},"shoutbox":{"title":"Болтовня"},"time":{"days_short":"{0}дн","years_short":"{0}г","year_short":"{0}г","weeks_short":"{0}нед","week_short":"{0}нед","seconds_short":"{0}сек","second_short":"{0}с","now_short":"только что","now":"только что","months_short":"{0}мес","month_short":"{0}мес","minutes_short":"{0}мин","minute_short":"{0}мин","in_past":"{0} назад","in_future":"через {0}","hours_short":"{0}ч","hour_short":"{0}ч","hour":"{0} час","day_short":"{0}д","days":"{0} дней"},"chats":{"empty_chat_list_placeholder":"У вас пока нет бесед. Начните одну!","delete_confirm":"Вы точно хотите удалить сообщение?","empty_message_error":"Нельзя отправить пустое сообщение","new":"Новая беседа","chats":"Беседы","delete":"Удалить","message_user":"Напишите {nickname}","you":"Вы:","error_sending_message":"Произошла ошибка при отправке сообщения."},"remote_user_resolver":{"error":"Не найдено.","searching_for":"Ищем"},"upload":{"error":{"message":"Произошла ошибка при загрузке: {0}"}},"user_reporting":{"add_comment_description":"Жалоба будет направлена модераторам вашего узла. Вы можете указать причину жалобы ниже:","forward_description":"Данный пользователь находится на другом узле. Отослать туда копию вашей жалобы?"},"file_type":{"file":"Файл","video":"Видеозапись","audio":"Аудиозапись","image":"Изображение"}}')}}]); +//# sourceMappingURL=28.75c01cd71372c39d5af8.js.map \ No newline at end of file diff --git a/priv/static/static/js/28.75c01cd71372c39d5af8.js.map b/priv/static/static/js/28.75c01cd71372c39d5af8.js.map new file mode 100644 index 000000000..4b21e788e --- /dev/null +++ b/priv/static/static/js/28.75c01cd71372c39d5af8.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/28.75c01cd71372c39d5af8.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/28.a88999ebb3f7ec930aad.js.map b/priv/static/static/js/28.a88999ebb3f7ec930aad.js.map deleted file mode 100644 index d67ecaec2..000000000 --- a/priv/static/static/js/28.a88999ebb3f7ec930aad.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/28.a88999ebb3f7ec930aad.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/29.519f681d194c212ae75f.js.map b/priv/static/static/js/29.519f681d194c212ae75f.js.map deleted file mode 100644 index e9c22ff88..000000000 --- a/priv/static/static/js/29.519f681d194c212ae75f.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/29.519f681d194c212ae75f.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/29.519f681d194c212ae75f.js b/priv/static/static/js/29.b53cf1f3bcece005d78a.js similarity index 93% rename from priv/static/static/js/29.519f681d194c212ae75f.js rename to priv/static/static/js/29.b53cf1f3bcece005d78a.js index aa2571733..3b357be95 100644 --- a/priv/static/static/js/29.519f681d194c212ae75f.js +++ b/priv/static/static/js/29.b53cf1f3bcece005d78a.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{609:function(e){e.exports=JSON.parse('{"chat.title":"చాట్","features_panel.chat":"చాట్","features_panel.gopher":"గోఫర్","features_panel.media_proxy":"మీడియా ప్రాక్సీ","features_panel.scope_options":"స్కోప్ ఎంపికలు","features_panel.text_limit":"వచన పరిమితి","features_panel.title":"లక్షణాలు","features_panel.who_to_follow":"ఎవరిని అనుసరించాలి","finder.error_fetching_user":"వినియోగదారుని పొందడంలో లోపం","finder.find_user":"వినియోగదారుని కనుగొనండి","general.apply":"వర్తించు","general.submit":"సమర్పించు","general.more":"మరిన్ని","general.generic_error":"ఒక తప్పిదం సంభవించినది","general.optional":"ఐచ్చికం","image_cropper.crop_picture":"చిత్రాన్ని కత్తిరించండి","image_cropper.save":"దాచు","image_cropper.save_without_cropping":"కత్తిరించకుండా సేవ్ చేయి","image_cropper.cancel":"రద్దుచేయి","login.login":"లాగిన్","login.description":"OAuth తో లాగిన్ అవ్వండి","login.logout":"లాగౌట్","login.password":"సంకేతపదము","login.placeholder":"ఉదా. lain","login.register":"నమోదు చేసుకోండి","login.username":"వాడుకరి పేరు","login.hint":"చర్చలో చేరడానికి లాగిన్ అవ్వండి","media_modal.previous":"ముందరి పుట","media_modal.next":"తరువాత","nav.about":"గురించి","nav.back":"వెనక్కి","nav.chat":"స్థానిక చాట్","nav.friend_requests":"అనుసరించడానికి అభ్యర్థనలు","nav.mentions":"ప్రస్తావనలు","nav.dms":"నేరుగా పంపిన సందేశాలు","nav.public_tl":"ప్రజా కాలక్రమం","nav.timeline":"కాలక్రమం","nav.twkn":"మొత్తం తెలిసిన నెట్వర్క్","nav.user_search":"వాడుకరి శోధన","nav.who_to_follow":"ఎవరిని అనుసరించాలి","nav.preferences":"ప్రాధాన్యతలు","notifications.broken_favorite":"తెలియని స్థితి, దాని కోసం శోధిస్తోంది...","notifications.favorited_you":"మీ స్థితిని ఇష్టపడ్డారు","notifications.followed_you":"మిమ్మల్ని అనుసరించారు","notifications.load_older":"పాత నోటిఫికేషన్లను లోడ్ చేయండి","notifications.notifications":"ప్రకటనలు","notifications.read":"చదివాను!","notifications.repeated_you":"మీ స్థితిని పునరావృతం చేసారు","notifications.no_more_notifications":"ఇక నోటిఫికేషన్లు లేవు","post_status.new_status":"క్రొత్త స్థితిని పోస్ట్ చేయండి","post_status.account_not_locked_warning":"మీ ఖాతా {౦} కాదు. ఎవరైనా మిమ్మల్ని అనుసరించి అనుచరులకు మాత్రమే ఉద్దేశించిన పోస్టులను చూడవచ్చు.","post_status.account_not_locked_warning_link":"తాళం వేయబడినది","post_status.attachments_sensitive":"జోడింపులను సున్నితమైనవిగా గుర్తించండి","post_status.content_type.text/plain":"సాధారణ అక్షరాలు","post_status.content_type.text/html":"హెచ్‌టిఎమ్ఎల్","post_status.content_type.text/markdown":"మార్క్డౌన్","post_status.content_warning":"విషయం (ఐచ్ఛికం)","post_status.default":"ఇప్పుడే విజయవాడలో దిగాను.","post_status.direct_warning":"ఈ పోస్ట్ మాత్రమే పేర్కొన్న వినియోగదారులకు మాత్రమే కనిపిస్తుంది.","post_status.posting":"పోస్ట్ చేస్తున్నా","post_status.scope.direct":"ప్రత్యక్ష - పేర్కొన్న వినియోగదారులకు మాత్రమే పోస్ట్ చేయబడుతుంది","post_status.scope.private":"అనుచరులకు మాత్రమే - అనుచరులకు మాత్రమే పోస్ట్ చేయబడుతుంది","post_status.scope.public":"పబ్లిక్ - ప్రజా కాలక్రమాలకు పోస్ట్ చేయబడుతుంది","post_status.scope.unlisted":"జాబితా చేయబడనిది - ప్రజా కాలక్రమాలకు పోస్ట్ చేయవద్దు","registration.bio":"బయో","registration.email":"ఈ మెయిల్","registration.fullname":"ప్రదర్శన పేరు","registration.password_confirm":"పాస్వర్డ్ నిర్ధారణ","registration.registration":"నమోదు","registration.token":"ఆహ్వాన టోకెన్","registration.captcha":"కాప్చా","registration.new_captcha":"కొత్త కాప్చా పొందుటకు చిత్రం మీద క్లిక్ చేయండి","registration.username_placeholder":"ఉదా. lain","registration.fullname_placeholder":"ఉదా. Lain Iwakura","registration.bio_placeholder":"e.g.\\nHi, I\'m Lain.\\nI’m an anime girl living in suburban Japan. You may know me from the Wired.","registration.validations.username_required":"ఖాళీగా విడిచిపెట్టరాదు","registration.validations.fullname_required":"ఖాళీగా విడిచిపెట్టరాదు","registration.validations.email_required":"ఖాళీగా విడిచిపెట్టరాదు","registration.validations.password_required":"ఖాళీగా విడిచిపెట్టరాదు","registration.validations.password_confirmation_required":"ఖాళీగా విడిచిపెట్టరాదు","registration.validations.password_confirmation_match":"సంకేతపదం వలె ఉండాలి","settings.app_name":"అనువర్తన పేరు","settings.attachmentRadius":"జోడింపులు","settings.attachments":"జోడింపులు","settings.avatar":"అవతారం","settings.avatarAltRadius":"అవతారాలు (ప్రకటనలు)","settings.avatarRadius":"అవతారాలు","settings.background":"బ్యాక్‌గ్రౌండు","settings.bio":"బయో","settings.blocks_tab":"బ్లాక్‌లు","settings.btnRadius":"బటన్లు","settings.cBlue":"నీలం (ప్రత్యుత్తరం, అనుసరించండి)","settings.cGreen":"Green (Retweet)","settings.cOrange":"ఆరెంజ్ (ఇష్టపడు)","settings.cRed":"Red (Cancel)","settings.change_password":"పాస్‌వర్డ్ మార్చండి","settings.change_password_error":"మీ పాస్వర్డ్ను మార్చడంలో సమస్య ఉంది.","settings.changed_password":"పాస్వర్డ్ విజయవంతంగా మార్చబడింది!","settings.collapse_subject":"Collapse posts with subjects","settings.composing":"Composing","settings.confirm_new_password":"కొత్త పాస్వర్డ్ను నిర్ధారించండి","settings.current_avatar":"మీ ప్రస్తుత అవతారం","settings.current_password":"ప్రస్తుత పాస్వర్డ్","settings.current_profile_banner":"మీ ప్రస్తుత ప్రొఫైల్ బ్యానర్","settings.data_import_export_tab":"Data Import / Export","settings.default_vis":"Default visibility scope","settings.delete_account":"Delete Account","settings.delete_account_description":"మీ ఖాతా మరియు మీ అన్ని సందేశాలను శాశ్వతంగా తొలగించండి.","settings.delete_account_error":"There was an issue deleting your account. If this persists please contact your instance administrator.","settings.delete_account_instructions":"ఖాతా తొలగింపును నిర్ధారించడానికి దిగువ ఇన్పుట్లో మీ పాస్వర్డ్ను టైప్ చేయండి.","settings.avatar_size_instruction":"అవతార్ చిత్రాలకు సిఫార్సు చేసిన కనీస పరిమాణం 150x150 పిక్సెల్స్.","settings.export_theme":"Save preset","settings.filtering":"వడపోత","settings.filtering_explanation":"All statuses containing these words will be muted, one per line","settings.follow_export":"Follow export","settings.follow_export_button":"Export your follows to a csv file","settings.follow_export_processing":"Processing, you\'ll soon be asked to download your file","settings.follow_import":"Follow import","settings.follow_import_error":"అనుచరులను దిగుమతి చేయడంలో లోపం","settings.follows_imported":"Follows imported! Processing them will take a while.","settings.foreground":"Foreground","settings.general":"General","settings.hide_attachments_in_convo":"సంభాషణలలో జోడింపులను దాచు","settings.hide_attachments_in_tl":"కాలక్రమంలో జోడింపులను దాచు","settings.hide_muted_posts":"మ్యూట్ చేసిన వినియోగదారుల యొక్క పోస్ట్లను దాచిపెట్టు","settings.max_thumbnails":"Maximum amount of thumbnails per post","settings.hide_isp":"Hide instance-specific panel","settings.preload_images":"Preload images","settings.use_one_click_nsfw":"కేవలం ఒక క్లిక్ తో NSFW జోడింపులను తెరవండి","settings.hide_post_stats":"Hide post statistics (e.g. the number of favorites)","settings.hide_user_stats":"Hide user statistics (e.g. the number of followers)","settings.hide_filtered_statuses":"Hide filtered statuses","settings.import_followers_from_a_csv_file":"Import follows from a csv file","settings.import_theme":"Load preset","settings.inputRadius":"Input fields","settings.checkboxRadius":"Checkboxes","settings.instance_default":"(default: {value})","settings.instance_default_simple":"(default)","settings.interface":"Interface","settings.interfaceLanguage":"Interface language","settings.invalid_theme_imported":"The selected file is not a supported Pleroma theme. No changes to your theme were made.","settings.limited_availability":"మీ బ్రౌజర్లో అందుబాటులో లేదు","settings.links":"Links","settings.lock_account_description":"మీ ఖాతాను ఆమోదించిన అనుచరులకు మాత్రమే పరిమితం చేయండి","settings.loop_video":"Loop videos","settings.loop_video_silent_only":"Loop only videos without sound (i.e. Mastodon\'s \\"gifs\\")","settings.mutes_tab":"మ్యూట్ చేయబడినవి","settings.play_videos_in_modal":"మీడియా వీక్షికలో నేరుగా వీడియోలను ప్లే చేయి","settings.use_contain_fit":"అటాచ్మెంట్ సూక్ష్మచిత్రాలను కత్తిరించవద్దు","settings.name":"Name","settings.name_bio":"పేరు & బయో","settings.new_password":"కొత్త సంకేతపదం","settings.notification_visibility":"చూపించవలసిన నోటిఫికేషన్ రకాలు","settings.notification_visibility_follows":"Follows","settings.notification_visibility_likes":"ఇష్టాలు","settings.notification_visibility_mentions":"ప్రస్తావనలు","settings.notification_visibility_repeats":"పునఃప్రసారాలు","settings.no_rich_text_description":"అన్ని పోస్ట్ల నుండి రిచ్ టెక్స్ట్ ఫార్మాటింగ్ను స్ట్రిప్ చేయండి","settings.no_blocks":"బ్లాక్స్ లేవు","settings.no_mutes":"మ్యూట్లు లేవు","settings.hide_follows_description":"నేను ఎవరిని అనుసరిస్తున్నానో చూపించవద్దు","settings.hide_followers_description":"నన్ను ఎవరు అనుసరిస్తున్నారో చూపవద్దు","settings.show_admin_badge":"నా ప్రొఫైల్ లో అడ్మిన్ బ్యాడ్జ్ చూపించు","settings.show_moderator_badge":"నా ప్రొఫైల్లో మోడరేటర్ బ్యాడ్జ్ని చూపించు","settings.nsfw_clickthrough":"Enable clickthrough NSFW attachment hiding","settings.oauth_tokens":"OAuth tokens","settings.token":"Token","settings.refresh_token":"Refresh Token","settings.valid_until":"Valid Until","settings.revoke_token":"Revoke","settings.panelRadius":"Panels","settings.pause_on_unfocused":"Pause streaming when tab is not focused","settings.presets":"Presets","settings.profile_background":"Profile Background","settings.profile_banner":"Profile Banner","settings.profile_tab":"Profile","settings.radii_help":"Set up interface edge rounding (in pixels)","settings.replies_in_timeline":"Replies in timeline","settings.reply_visibility_all":"Show all replies","settings.reply_visibility_following":"Only show replies directed at me or users I\'m following","settings.reply_visibility_self":"Only show replies directed at me","settings.saving_err":"Error saving settings","settings.saving_ok":"Settings saved","settings.security_tab":"Security","settings.scope_copy":"Copy scope when replying (DMs are always copied)","settings.set_new_avatar":"Set new avatar","settings.set_new_profile_background":"Set new profile background","settings.set_new_profile_banner":"Set new profile banner","settings.settings":"Settings","settings.subject_input_always_show":"Always show subject field","settings.subject_line_behavior":"Copy subject when replying","settings.subject_line_email":"Like email: \\"re: subject\\"","settings.subject_line_mastodon":"Like mastodon: copy as is","settings.subject_line_noop":"Do not copy","settings.post_status_content_type":"Post status content type","settings.stop_gifs":"Play-on-hover GIFs","settings.streaming":"Enable automatic streaming of new posts when scrolled to the top","settings.text":"Text","settings.theme":"Theme","settings.theme_help":"Use hex color codes (#rrggbb) to customize your color theme.","settings.theme_help_v2_1":"You can also override certain component\'s colors and opacity by toggling the checkbox, use \\"Clear all\\" button to clear all overrides.","settings.theme_help_v2_2":"Icons underneath some entries are background/text contrast indicators, hover over for detailed info. Please keep in mind that when using transparency contrast indicators show the worst possible case.","settings.tooltipRadius":"Tooltips/alerts","settings.upload_a_photo":"Upload a photo","settings.user_settings":"User Settings","settings.values.false":"no","settings.values.true":"yes","settings.notifications":"Notifications","settings.enable_web_push_notifications":"Enable web push notifications","settings.style.switcher.keep_color":"Keep colors","settings.style.switcher.keep_shadows":"Keep shadows","settings.style.switcher.keep_opacity":"Keep opacity","settings.style.switcher.keep_roundness":"Keep roundness","settings.style.switcher.keep_fonts":"Keep fonts","settings.style.switcher.save_load_hint":"\\"Keep\\" options preserve currently set options when selecting or loading themes, it also stores said options when exporting a theme. When all checkboxes unset, exporting theme will save everything.","settings.style.switcher.reset":"Reset","settings.style.switcher.clear_all":"Clear all","settings.style.switcher.clear_opacity":"Clear opacity","settings.style.common.color":"Color","settings.style.common.opacity":"Opacity","settings.style.common.contrast.hint":"Contrast ratio is {ratio}, it {level} {context}","settings.style.common.contrast.level.aa":"meets Level AA guideline (minimal)","settings.style.common.contrast.level.aaa":"meets Level AAA guideline (recommended)","settings.style.common.contrast.level.bad":"doesn\'t meet any accessibility guidelines","settings.style.common.contrast.context.18pt":"for large (18pt+) text","settings.style.common.contrast.context.text":"for text","settings.style.common_colors._tab_label":"Common","settings.style.common_colors.main":"Common colors","settings.style.common_colors.foreground_hint":"See \\"Advanced\\" tab for more detailed control","settings.style.common_colors.rgbo":"Icons, accents, badges","settings.style.advanced_colors._tab_label":"Advanced","settings.style.advanced_colors.alert":"Alert background","settings.style.advanced_colors.alert_error":"Error","settings.style.advanced_colors.badge":"Badge background","settings.style.advanced_colors.badge_notification":"Notification","settings.style.advanced_colors.panel_header":"Panel header","settings.style.advanced_colors.top_bar":"Top bar","settings.style.advanced_colors.borders":"Borders","settings.style.advanced_colors.buttons":"Buttons","settings.style.advanced_colors.inputs":"Input fields","settings.style.advanced_colors.faint_text":"Faded text","settings.style.radii._tab_label":"Roundness","settings.style.shadows._tab_label":"Shadow and lighting","settings.style.shadows.component":"Component","settings.style.shadows.override":"Override","settings.style.shadows.shadow_id":"Shadow #{value}","settings.style.shadows.blur":"Blur","settings.style.shadows.spread":"Spread","settings.style.shadows.inset":"Inset","settings.style.shadows.hint":"For shadows you can also use --variable as a color value to use CSS3 variables. Please note that setting opacity won\'t work in this case.","settings.style.shadows.filter_hint.always_drop_shadow":"Warning, this shadow always uses {0} when browser supports it.","settings.style.shadows.filter_hint.drop_shadow_syntax":"{0} does not support {1} parameter and {2} keyword.","settings.style.shadows.filter_hint.avatar_inset":"Please note that combining both inset and non-inset shadows on avatars might give unexpected results with transparent avatars.","settings.style.shadows.filter_hint.spread_zero":"Shadows with spread > 0 will appear as if it was set to zero","settings.style.shadows.filter_hint.inset_classic":"Inset shadows will be using {0}","settings.style.shadows.components.panel":"Panel","settings.style.shadows.components.panelHeader":"Panel header","settings.style.shadows.components.topBar":"Top bar","settings.style.shadows.components.avatar":"User avatar (in profile view)","settings.style.shadows.components.avatarStatus":"User avatar (in post display)","settings.style.shadows.components.popup":"Popups and tooltips","settings.style.shadows.components.button":"Button","settings.style.shadows.components.buttonHover":"Button (hover)","settings.style.shadows.components.buttonPressed":"Button (pressed)","settings.style.shadows.components.buttonPressedHover":"Button (pressed+hover)","settings.style.shadows.components.input":"Input field","settings.style.fonts._tab_label":"Fonts","settings.style.fonts.help":"Select font to use for elements of UI. For \\"custom\\" you have to enter exact font name as it appears in system.","settings.style.fonts.components.interface":"Interface","settings.style.fonts.components.input":"Input fields","settings.style.fonts.components.post":"Post text","settings.style.fonts.components.postCode":"Monospaced text in a post (rich text)","settings.style.fonts.family":"Font name","settings.style.fonts.size":"Size (in px)","settings.style.fonts.weight":"Weight (boldness)","settings.style.fonts.custom":"Custom","settings.style.preview.header":"Preview","settings.style.preview.content":"Content","settings.style.preview.error":"Example error","settings.style.preview.button":"Button","settings.style.preview.text":"A bunch of more {0} and {1}","settings.style.preview.mono":"content","settings.style.preview.input":"Just landed in L.A.","settings.style.preview.faint_link":"helpful manual","settings.style.preview.fine_print":"Read our {0} to learn nothing useful!","settings.style.preview.header_faint":"This is fine","settings.style.preview.checkbox":"I have skimmed over terms and conditions","settings.style.preview.link":"a nice lil\' link","settings.version.title":"Version","settings.version.backend_version":"Backend Version","settings.version.frontend_version":"Frontend Version","timeline.collapse":"Collapse","timeline.conversation":"Conversation","timeline.error_fetching":"Error fetching updates","timeline.load_older":"Load older statuses","timeline.no_retweet_hint":"Post is marked as followers-only or direct and cannot be repeated","timeline.repeated":"repeated","timeline.show_new":"Show new","timeline.up_to_date":"Up-to-date","timeline.no_more_statuses":"No more statuses","timeline.no_statuses":"No statuses","status.reply_to":"Reply to","status.replies_list":"Replies:","user_card.approve":"Approve","user_card.block":"Block","user_card.blocked":"Blocked!","user_card.deny":"Deny","user_card.favorites":"Favorites","user_card.follow":"Follow","user_card.follow_sent":"Request sent!","user_card.follow_progress":"Requesting…","user_card.follow_again":"Send request again?","user_card.follow_unfollow":"Unfollow","user_card.followees":"Following","user_card.followers":"Followers","user_card.following":"Following!","user_card.follows_you":"Follows you!","user_card.its_you":"It\'s you!","user_card.media":"Media","user_card.mute":"Mute","user_card.muted":"Muted","user_card.per_day":"per day","user_card.remote_follow":"Remote follow","user_card.statuses":"Statuses","user_card.unblock":"Unblock","user_card.unblock_progress":"Unblocking...","user_card.block_progress":"Blocking...","user_card.unmute":"Unmute","user_card.unmute_progress":"Unmuting...","user_card.mute_progress":"Muting...","user_profile.timeline_title":"User Timeline","user_profile.profile_does_not_exist":"Sorry, this profile does not exist.","user_profile.profile_loading_error":"Sorry, there was an error loading this profile.","who_to_follow.more":"More","who_to_follow.who_to_follow":"Who to follow","tool_tip.media_upload":"Upload Media","tool_tip.repeat":"Repeat","tool_tip.reply":"Reply","tool_tip.favorite":"Favorite","tool_tip.user_settings":"User Settings","upload.error.base":"Upload failed.","upload.error.file_too_big":"File too big [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","upload.error.default":"Try again later","upload.file_size_units.B":"B","upload.file_size_units.KiB":"KiB","upload.file_size_units.MiB":"MiB","upload.file_size_units.GiB":"GiB","upload.file_size_units.TiB":"TiB"}')}}]); -//# sourceMappingURL=29.519f681d194c212ae75f.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[29],{622:function(e){e.exports=JSON.parse('{"chat.title":"చాట్","features_panel.chat":"చాట్","features_panel.gopher":"గోఫర్","features_panel.media_proxy":"మీడియా ప్రాక్సీ","features_panel.scope_options":"స్కోప్ ఎంపికలు","features_panel.text_limit":"వచన పరిమితి","features_panel.title":"లక్షణాలు","features_panel.who_to_follow":"ఎవరిని అనుసరించాలి","finder.error_fetching_user":"వినియోగదారుని పొందడంలో లోపం","finder.find_user":"వినియోగదారుని కనుగొనండి","general.apply":"వర్తించు","general.submit":"సమర్పించు","general.more":"మరిన్ని","general.generic_error":"ఒక తప్పిదం సంభవించినది","general.optional":"ఐచ్చికం","image_cropper.crop_picture":"చిత్రాన్ని కత్తిరించండి","image_cropper.save":"దాచు","image_cropper.save_without_cropping":"కత్తిరించకుండా సేవ్ చేయి","image_cropper.cancel":"రద్దుచేయి","login.login":"లాగిన్","login.description":"OAuth తో లాగిన్ అవ్వండి","login.logout":"లాగౌట్","login.password":"సంకేతపదము","login.placeholder":"ఉదా. lain","login.register":"నమోదు చేసుకోండి","login.username":"వాడుకరి పేరు","login.hint":"చర్చలో చేరడానికి లాగిన్ అవ్వండి","media_modal.previous":"ముందరి పుట","media_modal.next":"తరువాత","nav.about":"గురించి","nav.back":"వెనక్కి","nav.chat":"స్థానిక చాట్","nav.friend_requests":"అనుసరించడానికి అభ్యర్థనలు","nav.mentions":"ప్రస్తావనలు","nav.dms":"నేరుగా పంపిన సందేశాలు","nav.public_tl":"ప్రజా కాలక్రమం","nav.timeline":"కాలక్రమం","nav.twkn":"మొత్తం తెలిసిన నెట్వర్క్","nav.user_search":"వాడుకరి శోధన","nav.who_to_follow":"ఎవరిని అనుసరించాలి","nav.preferences":"ప్రాధాన్యతలు","notifications.broken_favorite":"తెలియని స్థితి, దాని కోసం శోధిస్తోంది...","notifications.favorited_you":"మీ స్థితిని ఇష్టపడ్డారు","notifications.followed_you":"మిమ్మల్ని అనుసరించారు","notifications.load_older":"పాత నోటిఫికేషన్లను లోడ్ చేయండి","notifications.notifications":"ప్రకటనలు","notifications.read":"చదివాను!","notifications.repeated_you":"మీ స్థితిని పునరావృతం చేసారు","notifications.no_more_notifications":"ఇక నోటిఫికేషన్లు లేవు","post_status.new_status":"క్రొత్త స్థితిని పోస్ట్ చేయండి","post_status.account_not_locked_warning":"మీ ఖాతా {౦} కాదు. ఎవరైనా మిమ్మల్ని అనుసరించి అనుచరులకు మాత్రమే ఉద్దేశించిన పోస్టులను చూడవచ్చు.","post_status.account_not_locked_warning_link":"తాళం వేయబడినది","post_status.attachments_sensitive":"జోడింపులను సున్నితమైనవిగా గుర్తించండి","post_status.content_type.text/plain":"సాధారణ అక్షరాలు","post_status.content_type.text/html":"హెచ్‌టిఎమ్ఎల్","post_status.content_type.text/markdown":"మార్క్డౌన్","post_status.content_warning":"విషయం (ఐచ్ఛికం)","post_status.default":"ఇప్పుడే విజయవాడలో దిగాను.","post_status.direct_warning":"ఈ పోస్ట్ మాత్రమే పేర్కొన్న వినియోగదారులకు మాత్రమే కనిపిస్తుంది.","post_status.posting":"పోస్ట్ చేస్తున్నా","post_status.scope.direct":"ప్రత్యక్ష - పేర్కొన్న వినియోగదారులకు మాత్రమే పోస్ట్ చేయబడుతుంది","post_status.scope.private":"అనుచరులకు మాత్రమే - అనుచరులకు మాత్రమే పోస్ట్ చేయబడుతుంది","post_status.scope.public":"పబ్లిక్ - ప్రజా కాలక్రమాలకు పోస్ట్ చేయబడుతుంది","post_status.scope.unlisted":"జాబితా చేయబడనిది - ప్రజా కాలక్రమాలకు పోస్ట్ చేయవద్దు","registration.bio":"బయో","registration.email":"ఈ మెయిల్","registration.fullname":"ప్రదర్శన పేరు","registration.password_confirm":"పాస్వర్డ్ నిర్ధారణ","registration.registration":"నమోదు","registration.token":"ఆహ్వాన టోకెన్","registration.captcha":"కాప్చా","registration.new_captcha":"కొత్త కాప్చా పొందుటకు చిత్రం మీద క్లిక్ చేయండి","registration.username_placeholder":"ఉదా. lain","registration.fullname_placeholder":"ఉదా. Lain Iwakura","registration.bio_placeholder":"e.g.\\nHi, I\'m Lain.\\nI’m an anime girl living in suburban Japan. You may know me from the Wired.","registration.validations.username_required":"ఖాళీగా విడిచిపెట్టరాదు","registration.validations.fullname_required":"ఖాళీగా విడిచిపెట్టరాదు","registration.validations.email_required":"ఖాళీగా విడిచిపెట్టరాదు","registration.validations.password_required":"ఖాళీగా విడిచిపెట్టరాదు","registration.validations.password_confirmation_required":"ఖాళీగా విడిచిపెట్టరాదు","registration.validations.password_confirmation_match":"సంకేతపదం వలె ఉండాలి","settings.app_name":"అనువర్తన పేరు","settings.attachmentRadius":"జోడింపులు","settings.attachments":"జోడింపులు","settings.avatar":"అవతారం","settings.avatarAltRadius":"అవతారాలు (ప్రకటనలు)","settings.avatarRadius":"అవతారాలు","settings.background":"బ్యాక్‌గ్రౌండు","settings.bio":"బయో","settings.blocks_tab":"బ్లాక్‌లు","settings.btnRadius":"బటన్లు","settings.cBlue":"నీలం (ప్రత్యుత్తరం, అనుసరించండి)","settings.cGreen":"Green (Retweet)","settings.cOrange":"ఆరెంజ్ (ఇష్టపడు)","settings.cRed":"Red (Cancel)","settings.change_password":"పాస్‌వర్డ్ మార్చండి","settings.change_password_error":"మీ పాస్వర్డ్ను మార్చడంలో సమస్య ఉంది.","settings.changed_password":"పాస్వర్డ్ విజయవంతంగా మార్చబడింది!","settings.collapse_subject":"Collapse posts with subjects","settings.composing":"Composing","settings.confirm_new_password":"కొత్త పాస్వర్డ్ను నిర్ధారించండి","settings.current_avatar":"మీ ప్రస్తుత అవతారం","settings.current_password":"ప్రస్తుత పాస్వర్డ్","settings.current_profile_banner":"మీ ప్రస్తుత ప్రొఫైల్ బ్యానర్","settings.data_import_export_tab":"Data Import / Export","settings.default_vis":"Default visibility scope","settings.delete_account":"Delete Account","settings.delete_account_description":"మీ ఖాతా మరియు మీ అన్ని సందేశాలను శాశ్వతంగా తొలగించండి.","settings.delete_account_error":"There was an issue deleting your account. If this persists please contact your instance administrator.","settings.delete_account_instructions":"ఖాతా తొలగింపును నిర్ధారించడానికి దిగువ ఇన్పుట్లో మీ పాస్వర్డ్ను టైప్ చేయండి.","settings.avatar_size_instruction":"అవతార్ చిత్రాలకు సిఫార్సు చేసిన కనీస పరిమాణం 150x150 పిక్సెల్స్.","settings.export_theme":"Save preset","settings.filtering":"వడపోత","settings.filtering_explanation":"All statuses containing these words will be muted, one per line","settings.follow_export":"Follow export","settings.follow_export_button":"Export your follows to a csv file","settings.follow_export_processing":"Processing, you\'ll soon be asked to download your file","settings.follow_import":"Follow import","settings.follow_import_error":"అనుచరులను దిగుమతి చేయడంలో లోపం","settings.follows_imported":"Follows imported! Processing them will take a while.","settings.foreground":"Foreground","settings.general":"General","settings.hide_attachments_in_convo":"సంభాషణలలో జోడింపులను దాచు","settings.hide_attachments_in_tl":"కాలక్రమంలో జోడింపులను దాచు","settings.hide_muted_posts":"మ్యూట్ చేసిన వినియోగదారుల యొక్క పోస్ట్లను దాచిపెట్టు","settings.max_thumbnails":"Maximum amount of thumbnails per post","settings.hide_isp":"Hide instance-specific panel","settings.preload_images":"Preload images","settings.use_one_click_nsfw":"కేవలం ఒక క్లిక్ తో NSFW జోడింపులను తెరవండి","settings.hide_post_stats":"Hide post statistics (e.g. the number of favorites)","settings.hide_user_stats":"Hide user statistics (e.g. the number of followers)","settings.hide_filtered_statuses":"Hide filtered statuses","settings.import_followers_from_a_csv_file":"Import follows from a csv file","settings.import_theme":"Load preset","settings.inputRadius":"Input fields","settings.checkboxRadius":"Checkboxes","settings.instance_default":"(default: {value})","settings.instance_default_simple":"(default)","settings.interface":"Interface","settings.interfaceLanguage":"Interface language","settings.invalid_theme_imported":"The selected file is not a supported Pleroma theme. No changes to your theme were made.","settings.limited_availability":"మీ బ్రౌజర్లో అందుబాటులో లేదు","settings.links":"Links","settings.lock_account_description":"మీ ఖాతాను ఆమోదించిన అనుచరులకు మాత్రమే పరిమితం చేయండి","settings.loop_video":"Loop videos","settings.loop_video_silent_only":"Loop only videos without sound (i.e. Mastodon\'s \\"gifs\\")","settings.mutes_tab":"మ్యూట్ చేయబడినవి","settings.play_videos_in_modal":"మీడియా వీక్షికలో నేరుగా వీడియోలను ప్లే చేయి","settings.use_contain_fit":"అటాచ్మెంట్ సూక్ష్మచిత్రాలను కత్తిరించవద్దు","settings.name":"Name","settings.name_bio":"పేరు & బయో","settings.new_password":"కొత్త సంకేతపదం","settings.notification_visibility":"చూపించవలసిన నోటిఫికేషన్ రకాలు","settings.notification_visibility_follows":"Follows","settings.notification_visibility_likes":"ఇష్టాలు","settings.notification_visibility_mentions":"ప్రస్తావనలు","settings.notification_visibility_repeats":"పునఃప్రసారాలు","settings.no_rich_text_description":"అన్ని పోస్ట్ల నుండి రిచ్ టెక్స్ట్ ఫార్మాటింగ్ను స్ట్రిప్ చేయండి","settings.no_blocks":"బ్లాక్స్ లేవు","settings.no_mutes":"మ్యూట్లు లేవు","settings.hide_follows_description":"నేను ఎవరిని అనుసరిస్తున్నానో చూపించవద్దు","settings.hide_followers_description":"నన్ను ఎవరు అనుసరిస్తున్నారో చూపవద్దు","settings.show_admin_badge":"నా ప్రొఫైల్ లో అడ్మిన్ బ్యాడ్జ్ చూపించు","settings.show_moderator_badge":"నా ప్రొఫైల్లో మోడరేటర్ బ్యాడ్జ్ని చూపించు","settings.nsfw_clickthrough":"Enable clickthrough NSFW attachment hiding","settings.oauth_tokens":"OAuth tokens","settings.token":"Token","settings.refresh_token":"Refresh Token","settings.valid_until":"Valid Until","settings.revoke_token":"Revoke","settings.panelRadius":"Panels","settings.pause_on_unfocused":"Pause streaming when tab is not focused","settings.presets":"Presets","settings.profile_background":"Profile Background","settings.profile_banner":"Profile Banner","settings.profile_tab":"Profile","settings.radii_help":"Set up interface edge rounding (in pixels)","settings.replies_in_timeline":"Replies in timeline","settings.reply_visibility_all":"Show all replies","settings.reply_visibility_following":"Only show replies directed at me or users I\'m following","settings.reply_visibility_self":"Only show replies directed at me","settings.saving_err":"Error saving settings","settings.saving_ok":"Settings saved","settings.security_tab":"Security","settings.scope_copy":"Copy scope when replying (DMs are always copied)","settings.set_new_avatar":"Set new avatar","settings.set_new_profile_background":"Set new profile background","settings.set_new_profile_banner":"Set new profile banner","settings.settings":"Settings","settings.subject_input_always_show":"Always show subject field","settings.subject_line_behavior":"Copy subject when replying","settings.subject_line_email":"Like email: \\"re: subject\\"","settings.subject_line_mastodon":"Like mastodon: copy as is","settings.subject_line_noop":"Do not copy","settings.post_status_content_type":"Post status content type","settings.stop_gifs":"Play-on-hover GIFs","settings.streaming":"Enable automatic streaming of new posts when scrolled to the top","settings.text":"Text","settings.theme":"Theme","settings.theme_help":"Use hex color codes (#rrggbb) to customize your color theme.","settings.theme_help_v2_1":"You can also override certain component\'s colors and opacity by toggling the checkbox, use \\"Clear all\\" button to clear all overrides.","settings.theme_help_v2_2":"Icons underneath some entries are background/text contrast indicators, hover over for detailed info. Please keep in mind that when using transparency contrast indicators show the worst possible case.","settings.tooltipRadius":"Tooltips/alerts","settings.upload_a_photo":"Upload a photo","settings.user_settings":"User Settings","settings.values.false":"no","settings.values.true":"yes","settings.notifications":"Notifications","settings.enable_web_push_notifications":"Enable web push notifications","settings.style.switcher.keep_color":"Keep colors","settings.style.switcher.keep_shadows":"Keep shadows","settings.style.switcher.keep_opacity":"Keep opacity","settings.style.switcher.keep_roundness":"Keep roundness","settings.style.switcher.keep_fonts":"Keep fonts","settings.style.switcher.save_load_hint":"\\"Keep\\" options preserve currently set options when selecting or loading themes, it also stores said options when exporting a theme. When all checkboxes unset, exporting theme will save everything.","settings.style.switcher.reset":"Reset","settings.style.switcher.clear_all":"Clear all","settings.style.switcher.clear_opacity":"Clear opacity","settings.style.common.color":"Color","settings.style.common.opacity":"Opacity","settings.style.common.contrast.hint":"Contrast ratio is {ratio}, it {level} {context}","settings.style.common.contrast.level.aa":"meets Level AA guideline (minimal)","settings.style.common.contrast.level.aaa":"meets Level AAA guideline (recommended)","settings.style.common.contrast.level.bad":"doesn\'t meet any accessibility guidelines","settings.style.common.contrast.context.18pt":"for large (18pt+) text","settings.style.common.contrast.context.text":"for text","settings.style.common_colors._tab_label":"Common","settings.style.common_colors.main":"Common colors","settings.style.common_colors.foreground_hint":"See \\"Advanced\\" tab for more detailed control","settings.style.common_colors.rgbo":"Icons, accents, badges","settings.style.advanced_colors._tab_label":"Advanced","settings.style.advanced_colors.alert":"Alert background","settings.style.advanced_colors.alert_error":"Error","settings.style.advanced_colors.badge":"Badge background","settings.style.advanced_colors.badge_notification":"Notification","settings.style.advanced_colors.panel_header":"Panel header","settings.style.advanced_colors.top_bar":"Top bar","settings.style.advanced_colors.borders":"Borders","settings.style.advanced_colors.buttons":"Buttons","settings.style.advanced_colors.inputs":"Input fields","settings.style.advanced_colors.faint_text":"Faded text","settings.style.radii._tab_label":"Roundness","settings.style.shadows._tab_label":"Shadow and lighting","settings.style.shadows.component":"Component","settings.style.shadows.override":"Override","settings.style.shadows.shadow_id":"Shadow #{value}","settings.style.shadows.blur":"Blur","settings.style.shadows.spread":"Spread","settings.style.shadows.inset":"Inset","settings.style.shadows.hint":"For shadows you can also use --variable as a color value to use CSS3 variables. Please note that setting opacity won\'t work in this case.","settings.style.shadows.filter_hint.always_drop_shadow":"Warning, this shadow always uses {0} when browser supports it.","settings.style.shadows.filter_hint.drop_shadow_syntax":"{0} does not support {1} parameter and {2} keyword.","settings.style.shadows.filter_hint.avatar_inset":"Please note that combining both inset and non-inset shadows on avatars might give unexpected results with transparent avatars.","settings.style.shadows.filter_hint.spread_zero":"Shadows with spread > 0 will appear as if it was set to zero","settings.style.shadows.filter_hint.inset_classic":"Inset shadows will be using {0}","settings.style.shadows.components.panel":"Panel","settings.style.shadows.components.panelHeader":"Panel header","settings.style.shadows.components.topBar":"Top bar","settings.style.shadows.components.avatar":"User avatar (in profile view)","settings.style.shadows.components.avatarStatus":"User avatar (in post display)","settings.style.shadows.components.popup":"Popups and tooltips","settings.style.shadows.components.button":"Button","settings.style.shadows.components.buttonHover":"Button (hover)","settings.style.shadows.components.buttonPressed":"Button (pressed)","settings.style.shadows.components.buttonPressedHover":"Button (pressed+hover)","settings.style.shadows.components.input":"Input field","settings.style.fonts._tab_label":"Fonts","settings.style.fonts.help":"Select font to use for elements of UI. For \\"custom\\" you have to enter exact font name as it appears in system.","settings.style.fonts.components.interface":"Interface","settings.style.fonts.components.input":"Input fields","settings.style.fonts.components.post":"Post text","settings.style.fonts.components.postCode":"Monospaced text in a post (rich text)","settings.style.fonts.family":"Font name","settings.style.fonts.size":"Size (in px)","settings.style.fonts.weight":"Weight (boldness)","settings.style.fonts.custom":"Custom","settings.style.preview.header":"Preview","settings.style.preview.content":"Content","settings.style.preview.error":"Example error","settings.style.preview.button":"Button","settings.style.preview.text":"A bunch of more {0} and {1}","settings.style.preview.mono":"content","settings.style.preview.input":"Just landed in L.A.","settings.style.preview.faint_link":"helpful manual","settings.style.preview.fine_print":"Read our {0} to learn nothing useful!","settings.style.preview.header_faint":"This is fine","settings.style.preview.checkbox":"I have skimmed over terms and conditions","settings.style.preview.link":"a nice lil\' link","settings.version.title":"Version","settings.version.backend_version":"Backend Version","settings.version.frontend_version":"Frontend Version","timeline.collapse":"Collapse","timeline.conversation":"Conversation","timeline.error_fetching":"Error fetching updates","timeline.load_older":"Load older statuses","timeline.no_retweet_hint":"Post is marked as followers-only or direct and cannot be repeated","timeline.repeated":"repeated","timeline.show_new":"Show new","timeline.up_to_date":"Up-to-date","timeline.no_more_statuses":"No more statuses","timeline.no_statuses":"No statuses","status.reply_to":"Reply to","status.replies_list":"Replies:","user_card.approve":"Approve","user_card.block":"Block","user_card.blocked":"Blocked!","user_card.deny":"Deny","user_card.favorites":"Favorites","user_card.follow":"Follow","user_card.follow_sent":"Request sent!","user_card.follow_progress":"Requesting…","user_card.follow_unfollow":"Unfollow","user_card.followees":"Following","user_card.followers":"Followers","user_card.following":"Following!","user_card.follows_you":"Follows you!","user_card.its_you":"It\'s you!","user_card.media":"Media","user_card.mute":"Mute","user_card.muted":"Muted","user_card.per_day":"per day","user_card.remote_follow":"Remote follow","user_card.statuses":"Statuses","user_card.unblock":"Unblock","user_card.unblock_progress":"Unblocking...","user_card.block_progress":"Blocking...","user_card.unmute":"Unmute","user_card.unmute_progress":"Unmuting...","user_card.mute_progress":"Muting...","user_profile.timeline_title":"User Timeline","user_profile.profile_does_not_exist":"Sorry, this profile does not exist.","user_profile.profile_loading_error":"Sorry, there was an error loading this profile.","who_to_follow.more":"More","who_to_follow.who_to_follow":"Who to follow","tool_tip.media_upload":"Upload Media","tool_tip.repeat":"Repeat","tool_tip.reply":"Reply","tool_tip.favorite":"Favorite","tool_tip.user_settings":"User Settings","upload.error.base":"Upload failed.","upload.error.file_too_big":"File too big [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","upload.error.default":"Try again later","upload.file_size_units.B":"B","upload.file_size_units.KiB":"KiB","upload.file_size_units.MiB":"MiB","upload.file_size_units.GiB":"GiB","upload.file_size_units.TiB":"TiB"}')}}]); +//# sourceMappingURL=29.b53cf1f3bcece005d78a.js.map \ No newline at end of file diff --git a/priv/static/static/js/29.b53cf1f3bcece005d78a.js.map b/priv/static/static/js/29.b53cf1f3bcece005d78a.js.map new file mode 100644 index 000000000..f3d6781f8 --- /dev/null +++ b/priv/static/static/js/29.b53cf1f3bcece005d78a.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/29.b53cf1f3bcece005d78a.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/3.6c8e014d70907359ad5a.js b/priv/static/static/js/3.bde677e65143f0cd1105.js similarity index 99% rename from priv/static/static/js/3.6c8e014d70907359ad5a.js rename to priv/static/static/js/3.bde677e65143f0cd1105.js index 8c925ea7c..4bea37abd 100644 --- a/priv/static/static/js/3.6c8e014d70907359ad5a.js +++ b/priv/static/static/js/3.bde677e65143f0cd1105.js @@ -1,4 +1,4 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{613:function(t,e,a){var n=a(236),i=a(235),r=a(237);t.exports=function(t){return n(t)||i(t)||r()}},635:function(t,e,a){var n=a(238),i=a(239),r=a(636),o=a(637),s=a(240),h=a(53),c=/^\s+|\s+$/g;t.exports=function(t,e,a){if((t=h(t))&&(a||void 0===e))return t.replace(c,"");if(!t||!(e=n(e)))return t;var u=s(t),l=s(e),d=o(u,l),m=r(u,l)+1;return i(u,d,m).join("")}},636:function(t,e,a){var n=a(151);t.exports=function(t,e){for(var a=t.length;a--&&n(e,t[a],0)>-1;);return a}},637:function(t,e,a){var n=a(151);t.exports=function(t,e){for(var a=-1,i=t.length;++a-1;);return a}},646:function(t,e,a){"use strict";(function(t){ +(window.webpackJsonp=window.webpackJsonp||[]).push([[3],{626:function(t,e,a){var n=a(240),i=a(239),r=a(241);t.exports=function(t){return n(t)||i(t)||r()}},648:function(t,e,a){var n=a(242),i=a(243),r=a(649),o=a(650),s=a(244),h=a(55),c=/^\s+|\s+$/g;t.exports=function(t,e,a){if((t=h(t))&&(a||void 0===e))return t.replace(c,"");if(!t||!(e=n(e)))return t;var u=s(t),l=s(e),d=o(u,l),m=r(u,l)+1;return i(u,d,m).join("")}},649:function(t,e,a){var n=a(156);t.exports=function(t,e){for(var a=t.length;a--&&n(e,t[a],0)>-1;);return a}},650:function(t,e,a){var n=a(156);t.exports=function(t,e){for(var a=-1,i=t.length;++a-1;);return a}},659:function(t,e,a){"use strict";(function(t){ /*! * vue-qrcode v1.0.0 * https://fengyuanchen.github.io/vue-qrcode @@ -8,7 +8,7 @@ * * Date: 2018-10-21T13:04:02.951Z */ -var a="undefined"!=typeof window?window:void 0!==t?t:"undefined"!=typeof self?self:{};function n(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")}var i=function(t,e){return t(e={exports:{}},e.exports),e.exports}((function(t,e){t.exports=function t(e,a,i){function r(s,h){if(!a[s]){if(!e[s]){if(!h&&n)return n();if(o)return o(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var u=a[s]={exports:{}};e[s][0].call(u.exports,(function(t){return r(e[s][1][t]||t)}),u,u.exports,t,e,a,i)}return a[s].exports}for(var o=n,s=0;s>>7-t%8&1)},put:function(t,e){for(var a=0;a>>e-a-1&1))},getLengthInBits:function(){return this.length},putBit:function(t){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}},e.exports=n},{}],4:[function(t,e,a){var n=t("../utils/buffer");function i(t){if(!t||t<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=t,this.data=new n(t*t),this.data.fill(0),this.reservedBit=new n(t*t),this.reservedBit.fill(0)}i.prototype.set=function(t,e,a,n){var i=t*this.size+e;this.data[i]=a,n&&(this.reservedBit[i]=!0)},i.prototype.get=function(t,e){return this.data[t*this.size+e]},i.prototype.xor=function(t,e,a){this.data[t*this.size+e]^=a},i.prototype.isReserved=function(t,e){return this.reservedBit[t*this.size+e]},e.exports=i},{"../utils/buffer":27}],5:[function(t,e,a){var n=t("../utils/buffer"),i=t("./mode");function r(t){this.mode=i.BYTE,this.data=new n(t)}r.getBitsLength=function(t){return 8*t},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(t){for(var e=0,a=this.data.length;e=0&&t.bit<4},a.from=function(t,e){if(a.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"l":case"low":return a.L;case"m":case"medium":return a.M;case"q":case"quartile":return a.Q;case"h":case"high":return a.H;default:throw new Error("Unknown EC Level: "+t)}}(t)}catch(t){return e}}},{}],8:[function(t,e,a){var n=t("./utils").getSymbolSize;a.getPositions=function(t){var e=n(t);return[[0,0],[e-7,0],[0,e-7]]}},{"./utils":20}],9:[function(t,e,a){var n=t("./utils"),i=n.getBCHDigit(1335);a.getEncodedBits=function(t,e){for(var a=t.bit<<3|e,r=a<<10;n.getBCHDigit(r)-i>=0;)r^=1335<=33088&&a<=40956)a-=33088;else{if(!(a>=57408&&a<=60351))throw new Error("Invalid SJIS character: "+this.data[e]+"\nMake sure your charset is UTF-8");a-=49472}a=192*(a>>>8&255)+(255&a),t.put(a,13)}},e.exports=r},{"./mode":13,"./utils":20}],12:[function(t,e,a){a.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var n=3,i=3,r=40,o=10;function s(t,e,n){switch(t){case a.Patterns.PATTERN000:return(e+n)%2==0;case a.Patterns.PATTERN001:return e%2==0;case a.Patterns.PATTERN010:return n%3==0;case a.Patterns.PATTERN011:return(e+n)%3==0;case a.Patterns.PATTERN100:return(Math.floor(e/2)+Math.floor(n/3))%2==0;case a.Patterns.PATTERN101:return e*n%2+e*n%3==0;case a.Patterns.PATTERN110:return(e*n%2+e*n%3)%2==0;case a.Patterns.PATTERN111:return(e*n%3+(e+n)%2)%2==0;default:throw new Error("bad maskPattern:"+t)}}a.isValid=function(t){return null!=t&&""!==t&&!isNaN(t)&&t>=0&&t<=7},a.from=function(t){return a.isValid(t)?parseInt(t,10):void 0},a.getPenaltyN1=function(t){for(var e=t.size,a=0,i=0,r=0,o=null,s=null,h=0;h=5&&(a+=n+(i-5)),o=u,i=1),(u=t.get(c,h))===s?r++:(r>=5&&(a+=n+(r-5)),s=u,r=1)}i>=5&&(a+=n+(i-5)),r>=5&&(a+=n+(r-5))}return a},a.getPenaltyN2=function(t){for(var e=t.size,a=0,n=0;n=10&&(1488===n||93===n)&&a++,i=i<<1&2047|t.get(s,o),s>=10&&(1488===i||93===i)&&a++}return a*r},a.getPenaltyN4=function(t){for(var e=0,a=t.data.length,n=0;n=1&&e<10?t.ccBits[0]:e<27?t.ccBits[1]:t.ccBits[2]},a.getBestModeForData=function(t){return i.testNumeric(t)?a.NUMERIC:i.testAlphanumeric(t)?a.ALPHANUMERIC:i.testKanji(t)?a.KANJI:a.BYTE},a.toString=function(t){if(t&&t.id)return t.id;throw new Error("Invalid mode")},a.isValid=function(t){return t&&t.bit&&t.ccBits},a.from=function(t,e){if(a.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"numeric":return a.NUMERIC;case"alphanumeric":return a.ALPHANUMERIC;case"kanji":return a.KANJI;case"byte":return a.BYTE;default:throw new Error("Unknown mode: "+t)}}(t)}catch(t){return e}}},{"./regex":18,"./version-check":21}],14:[function(t,e,a){var n=t("./mode");function i(t){this.mode=n.NUMERIC,this.data=t.toString()}i.getBitsLength=function(t){return 10*Math.floor(t/3)+(t%3?t%3*3+1:0)},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(t){var e,a,n;for(e=0;e+3<=this.data.length;e+=3)a=this.data.substr(e,3),n=parseInt(a,10),t.put(n,10);var i=this.data.length-e;i>0&&(a=this.data.substr(e),n=parseInt(a,10),t.put(n,3*i+1))},e.exports=i},{"./mode":13}],15:[function(t,e,a){var n=t("../utils/buffer"),i=t("./galois-field");a.mul=function(t,e){var a=new n(t.length+e.length-1);a.fill(0);for(var r=0;r=0;){for(var r=a[0],o=0;o>n&1),n<6?t.set(n,8,i,!0):n<8?t.set(n+1,8,i,!0):t.set(r-15+n,8,i,!0),n<8?t.set(8,r-n-1,i,!0):n<9?t.set(8,15-n-1+1,i,!0):t.set(8,15-n-1,i,!0);t.set(r-8,8,1,!0)}function y(t,e,a){var r=new o;a.forEach((function(e){r.put(e.mode.bit,4),r.put(e.getLength(),p.getCharCountIndicator(e.mode,t)),e.write(r)}));var s=8*(i.getSymbolTotalCodewords(t)-l.getTotalCodewordsCount(t,e));for(r.getLengthInBits()+4<=s&&r.put(0,4);r.getLengthInBits()%8!=0;)r.putBit(0);for(var h=(s-r.getLengthInBits())/8,c=0;c=0&&s<=6&&(0===h||6===h)||h>=0&&h<=6&&(0===s||6===s)||s>=2&&s<=4&&h>=2&&h<=4?t.set(r+s,o+h,!0,!0):t.set(r+s,o+h,!1,!0))}(b,e),function(t){for(var e=t.size,a=8;a=7&&function(t,e){for(var a,n,i,r=t.size,o=m.getEncodedBits(e),s=0;s<18;s++)a=Math.floor(s/3),n=s%3+r-8-3,i=1==(o>>s&1),t.set(a,n,i,!0),t.set(n,a,i,!0)}(b,e),function(t,e){for(var a=t.size,n=-1,i=a-1,r=7,o=0,s=a-1;s>0;s-=2)for(6===s&&s--;;){for(var h=0;h<2;h++)if(!t.isReserved(i,s-h)){var c=!1;o>>r&1)),t.set(i,s-h,c),-1==--r&&(o++,r=7)}if((i+=n)<0||a<=i){i-=n,n=-n;break}}}(b,f),isNaN(n)&&(n=u.getBestMask(b,w.bind(null,b,a))),u.applyMask(n,b),w(b,a,n),{modules:b,version:e,errorCorrectionLevel:a,maskPattern:n,segments:r}}a.create=function(t,e){if(void 0===t||""===t)throw new Error("No input text");var a,n,o=r.M;return void 0!==e&&(o=r.from(e.errorCorrectionLevel,r.M),a=m.from(e.version),n=u.from(e.maskPattern),e.toSJISFunc&&i.setToSJISFunction(e.toSJISFunc)),b(t,a,o,n)}},{"../utils/buffer":27,"./alignment-pattern":1,"./bit-buffer":3,"./bit-matrix":4,"./error-correction-code":6,"./error-correction-level":7,"./finder-pattern":8,"./format-info":9,"./mask-pattern":12,"./mode":13,"./reed-solomon-encoder":17,"./segments":19,"./utils":20,"./version":22,isarray:30}],17:[function(t,e,a){var n=t("../utils/buffer"),i=t("./polynomial");function r(t){this.genPoly=void 0,this.degree=t,this.degree&&this.initialize(this.degree)}r.prototype.initialize=function(t){this.degree=t,this.genPoly=i.generateECPolynomial(this.degree)},r.prototype.encode=function(t){if(!this.genPoly)throw new Error("Encoder not initialized");var e=new n(this.degree);e.fill(0);var a=n.concat([t,e],t.length+this.degree),r=i.mod(a,this.genPoly),o=this.degree-r.length;if(o>0){var s=new n(this.degree);return s.fill(0),r.copy(s,o),s}return r},e.exports=r},{"../utils/buffer":27,"./polynomial":15}],18:[function(t,e,a){var n="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+",i="(?:(?![A-Z0-9 $%*+\\-./:]|"+(n=n.replace(/u/g,"\\u"))+")(?:.|[\r\n]))+";a.KANJI=new RegExp(n,"g"),a.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),a.BYTE=new RegExp(i,"g"),a.NUMERIC=new RegExp("[0-9]+","g"),a.ALPHANUMERIC=new RegExp("[A-Z $%*+\\-./:]+","g");var r=new RegExp("^"+n+"$"),o=new RegExp("^[0-9]+$"),s=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");a.testKanji=function(t){return r.test(t)},a.testNumeric=function(t){return o.test(t)},a.testAlphanumeric=function(t){return s.test(t)}},{}],19:[function(t,e,a){var n=t("./mode"),i=t("./numeric-data"),r=t("./alphanumeric-data"),o=t("./byte-data"),s=t("./kanji-data"),h=t("./regex"),c=t("./utils"),u=t("dijkstrajs");function l(t){return unescape(encodeURIComponent(t)).length}function d(t,e,a){for(var n,i=[];null!==(n=t.exec(a));)i.push({data:n[0],index:n.index,mode:e,length:n[0].length});return i}function m(t){var e,a,i=d(h.NUMERIC,n.NUMERIC,t),r=d(h.ALPHANUMERIC,n.ALPHANUMERIC,t);return c.isKanjiModeEnabled()?(e=d(h.BYTE,n.BYTE,t),a=d(h.KANJI,n.KANJI,t)):(e=d(h.BYTE_KANJI,n.BYTE,t),a=[]),i.concat(r,e,a).sort((function(t,e){return t.index-e.index})).map((function(t){return{data:t.data,mode:t.mode,length:t.length}}))}function f(t,e){switch(e){case n.NUMERIC:return i.getBitsLength(t);case n.ALPHANUMERIC:return r.getBitsLength(t);case n.KANJI:return s.getBitsLength(t);case n.BYTE:return o.getBitsLength(t)}}function p(t,e){var a,h=n.getBestModeForData(t);if((a=n.from(e,h))!==n.BYTE&&a.bit=0?t[t.length-1]:null;return a&&a.mode===e.mode?(t[t.length-1].data+=e.data,t):(t.push(e),t)}),[])}(o))},a.rawSplit=function(t){return a.fromArray(m(t,c.isKanjiModeEnabled()))}},{"./alphanumeric-data":2,"./byte-data":5,"./kanji-data":11,"./mode":13,"./numeric-data":14,"./regex":18,"./utils":20,dijkstrajs:29}],20:[function(t,e,a){var n,i=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];a.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return 4*t+17},a.getSymbolTotalCodewords=function(t){return i[t]},a.getBCHDigit=function(t){for(var e=0;0!==t;)e++,t>>>=1;return e},a.setToSJISFunction=function(t){if("function"!=typeof t)throw new Error('"toSJISFunc" is not a valid function.');n=t},a.isKanjiModeEnabled=function(){return void 0!==n},a.toSJIS=function(t){return n(t)}},{}],21:[function(t,e,a){a.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}},{}],22:[function(t,e,a){var n=t("./utils"),i=t("./error-correction-code"),r=t("./error-correction-level"),o=t("./mode"),s=t("./version-check"),h=t("isarray"),c=n.getBCHDigit(7973);function u(t,e){return o.getCharCountIndicator(t,e)+4}function l(t,e){var a=0;return t.forEach((function(t){var n=u(t.mode,e);a+=n+t.getBitsLength()})),a}a.from=function(t,e){return s.isValid(t)?parseInt(t,10):e},a.getCapacity=function(t,e,a){if(!s.isValid(t))throw new Error("Invalid QR Code version");void 0===a&&(a=o.BYTE);var r=8*(n.getSymbolTotalCodewords(t)-i.getTotalCodewordsCount(t,e));if(a===o.MIXED)return r;var h=r-u(a,t);switch(a){case o.NUMERIC:return Math.floor(h/10*3);case o.ALPHANUMERIC:return Math.floor(h/11*2);case o.KANJI:return Math.floor(h/13);case o.BYTE:default:return Math.floor(h/8)}},a.getBestVersionForData=function(t,e){var n,i=r.from(e,r.M);if(h(t)){if(t.length>1)return function(t,e){for(var n=1;n<=40;n++)if(l(t,n)<=a.getCapacity(n,e,o.MIXED))return n}(t,i);if(0===t.length)return 1;n=t[0]}else n=t;return function(t,e,n){for(var i=1;i<=40;i++)if(e<=a.getCapacity(i,n,t))return i}(n.mode,n.getLength(),i)},a.getEncodedBits=function(t){if(!s.isValid(t)||t<7)throw new Error("Invalid QR Code version");for(var e=t<<12;n.getBCHDigit(e)-c>=0;)e^=7973<':"",l="0&&c>0&&t[h-1]||(n+=o?r("M",c+a,.5+u+a):r("m",i,0),i=0,o=!1),c+1',d='viewBox="0 0 '+c+" "+c+'"',m=''+u+l+"\n";return"function"==typeof a&&a(null,m),m}},{"./utils":26}],26:[function(t,e,a){function n(t){if("string"!=typeof t)throw new Error("Color should be defined as hex string");var e=t.slice().replace("#","").split("");if(e.length<3||5===e.length||e.length>8)throw new Error("Invalid hex color: "+t);3!==e.length&&4!==e.length||(e=Array.prototype.concat.apply([],e.map((function(t){return[t,t]})))),6===e.length&&e.push("F","F");var a=parseInt(e.join(""),16);return{r:a>>24&255,g:a>>16&255,b:a>>8&255,a:255&a,hex:"#"+e.slice(0,6).join("")}}a.getOptions=function(t){t||(t={}),t.color||(t.color={});var e=void 0===t.margin||null===t.margin||t.margin<0?4:t.margin,a=t.width&&t.width>=21?t.width:void 0,i=t.scale||4;return{width:a,scale:a?4:i,margin:e,color:{dark:n(t.color.dark||"#000000ff"),light:n(t.color.light||"#ffffffff")},type:t.type,rendererOpts:t.rendererOpts||{}}},a.getScale=function(t,e){return e.width&&e.width>=t+2*e.margin?e.width/(t+2*e.margin):e.scale},a.getImageWidth=function(t,e){var n=a.getScale(t,e);return Math.floor((t+2*e.margin)*n)},a.qrToImageData=function(t,e,n){for(var i=e.modules.size,r=e.modules.data,o=a.getScale(i,n),s=Math.floor((i+2*n.margin)*o),h=n.margin*o,c=[n.color.light,n.color.dark],u=0;u=h&&l>=h&&u=i)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i.toString(16)+" bytes");return 0|t}function s(t,e){var a;return r.TYPED_ARRAY_SUPPORT?(a=new Uint8Array(e)).__proto__=r.prototype:(null===(a=t)&&(a=new r(e)),a.length=e),a}function h(t,e){var a=s(t,e<0?0:0|o(e));if(!r.TYPED_ARRAY_SUPPORT)for(var n=0;n55295&&a<57344){if(!i){if(a>56319){(e-=3)>-1&&r.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&r.push(239,191,189);continue}i=a;continue}if(a<56320){(e-=3)>-1&&r.push(239,191,189),i=a;continue}a=65536+(i-55296<<10|a-56320)}else i&&(e-=3)>-1&&r.push(239,191,189);if(i=null,a<128){if((e-=1)<0)break;r.push(a)}else if(a<2048){if((e-=2)<0)break;r.push(a>>6|192,63&a|128)}else if(a<65536){if((e-=3)<0)break;r.push(a>>12|224,a>>6&63|128,63&a|128)}else{if(!(a<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;r.push(a>>18|240,a>>12&63|128,a>>6&63|128,63&a|128)}}return r}function l(t){return r.isBuffer(t)?t.length:"undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer)?t.byteLength:("string"!=typeof t&&(t=""+t),0===t.length?0:u(t).length)}r.TYPED_ARRAY_SUPPORT&&(r.prototype.__proto__=Uint8Array.prototype,r.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&r[Symbol.species]===r&&Object.defineProperty(r,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1})),r.prototype.write=function(t,e,a){void 0===e||void 0===a&&"string"==typeof e?(a=this.length,e=0):isFinite(e)&&(e|=0,isFinite(a)?a|=0:a=void 0);var n=this.length-e;if((void 0===a||a>n)&&(a=n),t.length>0&&(a<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");return function(t,e,a,n){return function(t,e,a,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+a]=t[i];return i}(u(e,t.length-a),t,a,n)}(this,t,e,a)},r.prototype.slice=function(t,e){var a,n=this.length;if((t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--i)t[i+e]=this[i+a];else if(o<1e3||!r.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,a=void 0===a?this.length:a>>>0,t||(t=0),"number"==typeof t)for(i=e;il)&&(r[h]=l,m.push(h,l),i[h]=s));if(void 0!==a&&void 0===r[a]){var f=["Could not find a path from ",e," to ",a,"."].join("");throw new Error(f)}return i},extract_shortest_path_from_predecessor_list:function(t,e){for(var a=[],n=e;n;)a.push(n),t[n],n=t[n];return a.reverse(),a},find_path:function(t,e,a){var i=n.single_source_shortest_paths(t,e,a);return n.extract_shortest_path_from_predecessor_list(i,a)},PriorityQueue:{make:function(t){var e,a=n.PriorityQueue,i={};for(e in t=t||{},a)a.hasOwnProperty(e)&&(i[e]=a[e]);return i.queue=[],i.sorter=t.sorter||a.default_sorter,i},default_sorter:function(t,e){return t.cost-e.cost},push:function(t,e){var a={value:t,cost:e};this.queue.push(a),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}};void 0!==e&&(e.exports=n)},{}],30:[function(t,e,a){var n={}.toString;e.exports=Array.isArray||function(t){return"[object Array]"==n.call(t)}},{}],31:[function(t,e,n){(function(t){e.exports="object"==typeof self&&self.self===self&&self||"object"==typeof t&&t.global===t&&t||this}).call(this,void 0!==a?a:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[23])(23)})),r={name:"qrcode",props:{options:Object,tag:{type:String,default:"canvas"},value:null},render:function(t){return t(this.tag,this.$slots.default)},watch:{$props:{deep:!0,immediate:!0,handler:function(){this.$el&&this.generate()}}},methods:{generate:function(){var t=this,e=this.options,a=this.tag,n=String(this.value);"canvas"===a?i.toCanvas(this.$el,n,e,(function(t){if(t)throw t})):"img"===a?i.toDataURL(n,e,(function(e,a){if(e)throw e;t.$el.src=a})):i.toString(n,e,(function(e,a){if(e)throw e;t.$el.innerHTML=a}))}},mounted:function(){this.generate()}};e.a=r}).call(this,a(41))},651:function(t,e,a){"use strict"; +var a="undefined"!=typeof window?window:void 0!==t?t:"undefined"!=typeof self?self:{};function n(){throw new Error("Dynamic requires are not currently supported by rollup-plugin-commonjs")}var i=function(t,e){return t(e={exports:{}},e.exports),e.exports}((function(t,e){t.exports=function t(e,a,i){function r(s,h){if(!a[s]){if(!e[s]){if(!h&&n)return n();if(o)return o(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var u=a[s]={exports:{}};e[s][0].call(u.exports,(function(t){return r(e[s][1][t]||t)}),u,u.exports,t,e,a,i)}return a[s].exports}for(var o=n,s=0;s>>7-t%8&1)},put:function(t,e){for(var a=0;a>>e-a-1&1))},getLengthInBits:function(){return this.length},putBit:function(t){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}},e.exports=n},{}],4:[function(t,e,a){var n=t("../utils/buffer");function i(t){if(!t||t<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=t,this.data=new n(t*t),this.data.fill(0),this.reservedBit=new n(t*t),this.reservedBit.fill(0)}i.prototype.set=function(t,e,a,n){var i=t*this.size+e;this.data[i]=a,n&&(this.reservedBit[i]=!0)},i.prototype.get=function(t,e){return this.data[t*this.size+e]},i.prototype.xor=function(t,e,a){this.data[t*this.size+e]^=a},i.prototype.isReserved=function(t,e){return this.reservedBit[t*this.size+e]},e.exports=i},{"../utils/buffer":27}],5:[function(t,e,a){var n=t("../utils/buffer"),i=t("./mode");function r(t){this.mode=i.BYTE,this.data=new n(t)}r.getBitsLength=function(t){return 8*t},r.prototype.getLength=function(){return this.data.length},r.prototype.getBitsLength=function(){return r.getBitsLength(this.data.length)},r.prototype.write=function(t){for(var e=0,a=this.data.length;e=0&&t.bit<4},a.from=function(t,e){if(a.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"l":case"low":return a.L;case"m":case"medium":return a.M;case"q":case"quartile":return a.Q;case"h":case"high":return a.H;default:throw new Error("Unknown EC Level: "+t)}}(t)}catch(t){return e}}},{}],8:[function(t,e,a){var n=t("./utils").getSymbolSize;a.getPositions=function(t){var e=n(t);return[[0,0],[e-7,0],[0,e-7]]}},{"./utils":20}],9:[function(t,e,a){var n=t("./utils"),i=n.getBCHDigit(1335);a.getEncodedBits=function(t,e){for(var a=t.bit<<3|e,r=a<<10;n.getBCHDigit(r)-i>=0;)r^=1335<=33088&&a<=40956)a-=33088;else{if(!(a>=57408&&a<=60351))throw new Error("Invalid SJIS character: "+this.data[e]+"\nMake sure your charset is UTF-8");a-=49472}a=192*(a>>>8&255)+(255&a),t.put(a,13)}},e.exports=r},{"./mode":13,"./utils":20}],12:[function(t,e,a){a.Patterns={PATTERN000:0,PATTERN001:1,PATTERN010:2,PATTERN011:3,PATTERN100:4,PATTERN101:5,PATTERN110:6,PATTERN111:7};var n=3,i=3,r=40,o=10;function s(t,e,n){switch(t){case a.Patterns.PATTERN000:return(e+n)%2==0;case a.Patterns.PATTERN001:return e%2==0;case a.Patterns.PATTERN010:return n%3==0;case a.Patterns.PATTERN011:return(e+n)%3==0;case a.Patterns.PATTERN100:return(Math.floor(e/2)+Math.floor(n/3))%2==0;case a.Patterns.PATTERN101:return e*n%2+e*n%3==0;case a.Patterns.PATTERN110:return(e*n%2+e*n%3)%2==0;case a.Patterns.PATTERN111:return(e*n%3+(e+n)%2)%2==0;default:throw new Error("bad maskPattern:"+t)}}a.isValid=function(t){return null!=t&&""!==t&&!isNaN(t)&&t>=0&&t<=7},a.from=function(t){return a.isValid(t)?parseInt(t,10):void 0},a.getPenaltyN1=function(t){for(var e=t.size,a=0,i=0,r=0,o=null,s=null,h=0;h=5&&(a+=n+(i-5)),o=u,i=1),(u=t.get(c,h))===s?r++:(r>=5&&(a+=n+(r-5)),s=u,r=1)}i>=5&&(a+=n+(i-5)),r>=5&&(a+=n+(r-5))}return a},a.getPenaltyN2=function(t){for(var e=t.size,a=0,n=0;n=10&&(1488===n||93===n)&&a++,i=i<<1&2047|t.get(s,o),s>=10&&(1488===i||93===i)&&a++}return a*r},a.getPenaltyN4=function(t){for(var e=0,a=t.data.length,n=0;n=1&&e<10?t.ccBits[0]:e<27?t.ccBits[1]:t.ccBits[2]},a.getBestModeForData=function(t){return i.testNumeric(t)?a.NUMERIC:i.testAlphanumeric(t)?a.ALPHANUMERIC:i.testKanji(t)?a.KANJI:a.BYTE},a.toString=function(t){if(t&&t.id)return t.id;throw new Error("Invalid mode")},a.isValid=function(t){return t&&t.bit&&t.ccBits},a.from=function(t,e){if(a.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"numeric":return a.NUMERIC;case"alphanumeric":return a.ALPHANUMERIC;case"kanji":return a.KANJI;case"byte":return a.BYTE;default:throw new Error("Unknown mode: "+t)}}(t)}catch(t){return e}}},{"./regex":18,"./version-check":21}],14:[function(t,e,a){var n=t("./mode");function i(t){this.mode=n.NUMERIC,this.data=t.toString()}i.getBitsLength=function(t){return 10*Math.floor(t/3)+(t%3?t%3*3+1:0)},i.prototype.getLength=function(){return this.data.length},i.prototype.getBitsLength=function(){return i.getBitsLength(this.data.length)},i.prototype.write=function(t){var e,a,n;for(e=0;e+3<=this.data.length;e+=3)a=this.data.substr(e,3),n=parseInt(a,10),t.put(n,10);var i=this.data.length-e;i>0&&(a=this.data.substr(e),n=parseInt(a,10),t.put(n,3*i+1))},e.exports=i},{"./mode":13}],15:[function(t,e,a){var n=t("../utils/buffer"),i=t("./galois-field");a.mul=function(t,e){var a=new n(t.length+e.length-1);a.fill(0);for(var r=0;r=0;){for(var r=a[0],o=0;o>n&1),n<6?t.set(n,8,i,!0):n<8?t.set(n+1,8,i,!0):t.set(r-15+n,8,i,!0),n<8?t.set(8,r-n-1,i,!0):n<9?t.set(8,15-n-1+1,i,!0):t.set(8,15-n-1,i,!0);t.set(r-8,8,1,!0)}function y(t,e,a){var r=new o;a.forEach((function(e){r.put(e.mode.bit,4),r.put(e.getLength(),p.getCharCountIndicator(e.mode,t)),e.write(r)}));var s=8*(i.getSymbolTotalCodewords(t)-l.getTotalCodewordsCount(t,e));for(r.getLengthInBits()+4<=s&&r.put(0,4);r.getLengthInBits()%8!=0;)r.putBit(0);for(var h=(s-r.getLengthInBits())/8,c=0;c=0&&s<=6&&(0===h||6===h)||h>=0&&h<=6&&(0===s||6===s)||s>=2&&s<=4&&h>=2&&h<=4?t.set(r+s,o+h,!0,!0):t.set(r+s,o+h,!1,!0))}(b,e),function(t){for(var e=t.size,a=8;a=7&&function(t,e){for(var a,n,i,r=t.size,o=m.getEncodedBits(e),s=0;s<18;s++)a=Math.floor(s/3),n=s%3+r-8-3,i=1==(o>>s&1),t.set(a,n,i,!0),t.set(n,a,i,!0)}(b,e),function(t,e){for(var a=t.size,n=-1,i=a-1,r=7,o=0,s=a-1;s>0;s-=2)for(6===s&&s--;;){for(var h=0;h<2;h++)if(!t.isReserved(i,s-h)){var c=!1;o>>r&1)),t.set(i,s-h,c),-1==--r&&(o++,r=7)}if((i+=n)<0||a<=i){i-=n,n=-n;break}}}(b,f),isNaN(n)&&(n=u.getBestMask(b,w.bind(null,b,a))),u.applyMask(n,b),w(b,a,n),{modules:b,version:e,errorCorrectionLevel:a,maskPattern:n,segments:r}}a.create=function(t,e){if(void 0===t||""===t)throw new Error("No input text");var a,n,o=r.M;return void 0!==e&&(o=r.from(e.errorCorrectionLevel,r.M),a=m.from(e.version),n=u.from(e.maskPattern),e.toSJISFunc&&i.setToSJISFunction(e.toSJISFunc)),b(t,a,o,n)}},{"../utils/buffer":27,"./alignment-pattern":1,"./bit-buffer":3,"./bit-matrix":4,"./error-correction-code":6,"./error-correction-level":7,"./finder-pattern":8,"./format-info":9,"./mask-pattern":12,"./mode":13,"./reed-solomon-encoder":17,"./segments":19,"./utils":20,"./version":22,isarray:30}],17:[function(t,e,a){var n=t("../utils/buffer"),i=t("./polynomial");function r(t){this.genPoly=void 0,this.degree=t,this.degree&&this.initialize(this.degree)}r.prototype.initialize=function(t){this.degree=t,this.genPoly=i.generateECPolynomial(this.degree)},r.prototype.encode=function(t){if(!this.genPoly)throw new Error("Encoder not initialized");var e=new n(this.degree);e.fill(0);var a=n.concat([t,e],t.length+this.degree),r=i.mod(a,this.genPoly),o=this.degree-r.length;if(o>0){var s=new n(this.degree);return s.fill(0),r.copy(s,o),s}return r},e.exports=r},{"../utils/buffer":27,"./polynomial":15}],18:[function(t,e,a){var n="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+",i="(?:(?![A-Z0-9 $%*+\\-./:]|"+(n=n.replace(/u/g,"\\u"))+")(?:.|[\r\n]))+";a.KANJI=new RegExp(n,"g"),a.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),a.BYTE=new RegExp(i,"g"),a.NUMERIC=new RegExp("[0-9]+","g"),a.ALPHANUMERIC=new RegExp("[A-Z $%*+\\-./:]+","g");var r=new RegExp("^"+n+"$"),o=new RegExp("^[0-9]+$"),s=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");a.testKanji=function(t){return r.test(t)},a.testNumeric=function(t){return o.test(t)},a.testAlphanumeric=function(t){return s.test(t)}},{}],19:[function(t,e,a){var n=t("./mode"),i=t("./numeric-data"),r=t("./alphanumeric-data"),o=t("./byte-data"),s=t("./kanji-data"),h=t("./regex"),c=t("./utils"),u=t("dijkstrajs");function l(t){return unescape(encodeURIComponent(t)).length}function d(t,e,a){for(var n,i=[];null!==(n=t.exec(a));)i.push({data:n[0],index:n.index,mode:e,length:n[0].length});return i}function m(t){var e,a,i=d(h.NUMERIC,n.NUMERIC,t),r=d(h.ALPHANUMERIC,n.ALPHANUMERIC,t);return c.isKanjiModeEnabled()?(e=d(h.BYTE,n.BYTE,t),a=d(h.KANJI,n.KANJI,t)):(e=d(h.BYTE_KANJI,n.BYTE,t),a=[]),i.concat(r,e,a).sort((function(t,e){return t.index-e.index})).map((function(t){return{data:t.data,mode:t.mode,length:t.length}}))}function f(t,e){switch(e){case n.NUMERIC:return i.getBitsLength(t);case n.ALPHANUMERIC:return r.getBitsLength(t);case n.KANJI:return s.getBitsLength(t);case n.BYTE:return o.getBitsLength(t)}}function p(t,e){var a,h=n.getBestModeForData(t);if((a=n.from(e,h))!==n.BYTE&&a.bit=0?t[t.length-1]:null;return a&&a.mode===e.mode?(t[t.length-1].data+=e.data,t):(t.push(e),t)}),[])}(o))},a.rawSplit=function(t){return a.fromArray(m(t,c.isKanjiModeEnabled()))}},{"./alphanumeric-data":2,"./byte-data":5,"./kanji-data":11,"./mode":13,"./numeric-data":14,"./regex":18,"./utils":20,dijkstrajs:29}],20:[function(t,e,a){var n,i=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];a.getSymbolSize=function(t){if(!t)throw new Error('"version" cannot be null or undefined');if(t<1||t>40)throw new Error('"version" should be in range from 1 to 40');return 4*t+17},a.getSymbolTotalCodewords=function(t){return i[t]},a.getBCHDigit=function(t){for(var e=0;0!==t;)e++,t>>>=1;return e},a.setToSJISFunction=function(t){if("function"!=typeof t)throw new Error('"toSJISFunc" is not a valid function.');n=t},a.isKanjiModeEnabled=function(){return void 0!==n},a.toSJIS=function(t){return n(t)}},{}],21:[function(t,e,a){a.isValid=function(t){return!isNaN(t)&&t>=1&&t<=40}},{}],22:[function(t,e,a){var n=t("./utils"),i=t("./error-correction-code"),r=t("./error-correction-level"),o=t("./mode"),s=t("./version-check"),h=t("isarray"),c=n.getBCHDigit(7973);function u(t,e){return o.getCharCountIndicator(t,e)+4}function l(t,e){var a=0;return t.forEach((function(t){var n=u(t.mode,e);a+=n+t.getBitsLength()})),a}a.from=function(t,e){return s.isValid(t)?parseInt(t,10):e},a.getCapacity=function(t,e,a){if(!s.isValid(t))throw new Error("Invalid QR Code version");void 0===a&&(a=o.BYTE);var r=8*(n.getSymbolTotalCodewords(t)-i.getTotalCodewordsCount(t,e));if(a===o.MIXED)return r;var h=r-u(a,t);switch(a){case o.NUMERIC:return Math.floor(h/10*3);case o.ALPHANUMERIC:return Math.floor(h/11*2);case o.KANJI:return Math.floor(h/13);case o.BYTE:default:return Math.floor(h/8)}},a.getBestVersionForData=function(t,e){var n,i=r.from(e,r.M);if(h(t)){if(t.length>1)return function(t,e){for(var n=1;n<=40;n++)if(l(t,n)<=a.getCapacity(n,e,o.MIXED))return n}(t,i);if(0===t.length)return 1;n=t[0]}else n=t;return function(t,e,n){for(var i=1;i<=40;i++)if(e<=a.getCapacity(i,n,t))return i}(n.mode,n.getLength(),i)},a.getEncodedBits=function(t){if(!s.isValid(t)||t<7)throw new Error("Invalid QR Code version");for(var e=t<<12;n.getBCHDigit(e)-c>=0;)e^=7973<':"",l="0&&c>0&&t[h-1]||(n+=o?r("M",c+a,.5+u+a):r("m",i,0),i=0,o=!1),c+1',d='viewBox="0 0 '+c+" "+c+'"',m=''+u+l+"\n";return"function"==typeof a&&a(null,m),m}},{"./utils":26}],26:[function(t,e,a){function n(t){if("string"!=typeof t)throw new Error("Color should be defined as hex string");var e=t.slice().replace("#","").split("");if(e.length<3||5===e.length||e.length>8)throw new Error("Invalid hex color: "+t);3!==e.length&&4!==e.length||(e=Array.prototype.concat.apply([],e.map((function(t){return[t,t]})))),6===e.length&&e.push("F","F");var a=parseInt(e.join(""),16);return{r:a>>24&255,g:a>>16&255,b:a>>8&255,a:255&a,hex:"#"+e.slice(0,6).join("")}}a.getOptions=function(t){t||(t={}),t.color||(t.color={});var e=void 0===t.margin||null===t.margin||t.margin<0?4:t.margin,a=t.width&&t.width>=21?t.width:void 0,i=t.scale||4;return{width:a,scale:a?4:i,margin:e,color:{dark:n(t.color.dark||"#000000ff"),light:n(t.color.light||"#ffffffff")},type:t.type,rendererOpts:t.rendererOpts||{}}},a.getScale=function(t,e){return e.width&&e.width>=t+2*e.margin?e.width/(t+2*e.margin):e.scale},a.getImageWidth=function(t,e){var n=a.getScale(t,e);return Math.floor((t+2*e.margin)*n)},a.qrToImageData=function(t,e,n){for(var i=e.modules.size,r=e.modules.data,o=a.getScale(i,n),s=Math.floor((i+2*n.margin)*o),h=n.margin*o,c=[n.color.light,n.color.dark],u=0;u=h&&l>=h&&u=i)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+i.toString(16)+" bytes");return 0|t}function s(t,e){var a;return r.TYPED_ARRAY_SUPPORT?(a=new Uint8Array(e)).__proto__=r.prototype:(null===(a=t)&&(a=new r(e)),a.length=e),a}function h(t,e){var a=s(t,e<0?0:0|o(e));if(!r.TYPED_ARRAY_SUPPORT)for(var n=0;n55295&&a<57344){if(!i){if(a>56319){(e-=3)>-1&&r.push(239,191,189);continue}if(o+1===n){(e-=3)>-1&&r.push(239,191,189);continue}i=a;continue}if(a<56320){(e-=3)>-1&&r.push(239,191,189),i=a;continue}a=65536+(i-55296<<10|a-56320)}else i&&(e-=3)>-1&&r.push(239,191,189);if(i=null,a<128){if((e-=1)<0)break;r.push(a)}else if(a<2048){if((e-=2)<0)break;r.push(a>>6|192,63&a|128)}else if(a<65536){if((e-=3)<0)break;r.push(a>>12|224,a>>6&63|128,63&a|128)}else{if(!(a<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;r.push(a>>18|240,a>>12&63|128,a>>6&63|128,63&a|128)}}return r}function l(t){return r.isBuffer(t)?t.length:"undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer)?t.byteLength:("string"!=typeof t&&(t=""+t),0===t.length?0:u(t).length)}r.TYPED_ARRAY_SUPPORT&&(r.prototype.__proto__=Uint8Array.prototype,r.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&r[Symbol.species]===r&&Object.defineProperty(r,Symbol.species,{value:null,configurable:!0,enumerable:!1,writable:!1})),r.prototype.write=function(t,e,a){void 0===e||void 0===a&&"string"==typeof e?(a=this.length,e=0):isFinite(e)&&(e|=0,isFinite(a)?a|=0:a=void 0);var n=this.length-e;if((void 0===a||a>n)&&(a=n),t.length>0&&(a<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");return function(t,e,a,n){return function(t,e,a,n){for(var i=0;i=e.length||i>=t.length);++i)e[i+a]=t[i];return i}(u(e,t.length-a),t,a,n)}(this,t,e,a)},r.prototype.slice=function(t,e){var a,n=this.length;if((t=~~t)<0?(t+=n)<0&&(t=0):t>n&&(t=n),(e=void 0===e?n:~~e)<0?(e+=n)<0&&(e=0):e>n&&(e=n),e=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("sourceStart out of bounds");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--i)t[i+e]=this[i+a];else if(o<1e3||!r.TYPED_ARRAY_SUPPORT)for(i=0;i>>=0,a=void 0===a?this.length:a>>>0,t||(t=0),"number"==typeof t)for(i=e;il)&&(r[h]=l,m.push(h,l),i[h]=s));if(void 0!==a&&void 0===r[a]){var f=["Could not find a path from ",e," to ",a,"."].join("");throw new Error(f)}return i},extract_shortest_path_from_predecessor_list:function(t,e){for(var a=[],n=e;n;)a.push(n),t[n],n=t[n];return a.reverse(),a},find_path:function(t,e,a){var i=n.single_source_shortest_paths(t,e,a);return n.extract_shortest_path_from_predecessor_list(i,a)},PriorityQueue:{make:function(t){var e,a=n.PriorityQueue,i={};for(e in t=t||{},a)a.hasOwnProperty(e)&&(i[e]=a[e]);return i.queue=[],i.sorter=t.sorter||a.default_sorter,i},default_sorter:function(t,e){return t.cost-e.cost},push:function(t,e){var a={value:t,cost:e};this.queue.push(a),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}};void 0!==e&&(e.exports=n)},{}],30:[function(t,e,a){var n={}.toString;e.exports=Array.isArray||function(t){return"[object Array]"==n.call(t)}},{}],31:[function(t,e,n){(function(t){e.exports="object"==typeof self&&self.self===self&&self||"object"==typeof t&&t.global===t&&t||this}).call(this,void 0!==a?a:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}]},{},[23])(23)})),r={name:"qrcode",props:{options:Object,tag:{type:String,default:"canvas"},value:null},render:function(t){return t(this.tag,this.$slots.default)},watch:{$props:{deep:!0,immediate:!0,handler:function(){this.$el&&this.generate()}}},methods:{generate:function(){var t=this,e=this.options,a=this.tag,n=String(this.value);"canvas"===a?i.toCanvas(this.$el,n,e,(function(t){if(t)throw t})):"img"===a?i.toDataURL(n,e,(function(e,a){if(e)throw e;t.$el.src=a})):i.toString(n,e,(function(e,a){if(e)throw e;t.$el.innerHTML=a}))}},mounted:function(){this.generate()}};e.a=r}).call(this,a(44))},664:function(t,e,a){"use strict"; /*! * Cropper.js v1.4.3 * https://fengyuanchen.github.io/cropperjs @@ -17,5 +17,5 @@ var a="undefined"!=typeof window?window:void 0!==t?t:"undefined"!=typeof self?se * Released under the MIT license * * Date: 2018-10-24T13:07:15.032Z - */function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){for(var a=0;a1?e-1:0),n=1;n0&&a.forEach((function(e){A(e)&&Object.keys(e).forEach((function(a){t[a]=e[a]}))})),t},I=/\.\d*(?:0|9){12}\d*$/;function z(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e11;return I.test(t)?Math.round(t*e)/e:t}var O=/^(?:width|height|left|top|marginLeft|marginTop)$/;function Y(t,e){var a=t.style;L(e,(function(t,e){O.test(e)&&B(t)&&(t+="px"),a[e]=t}))}function H(t,e){if(e)if(B(t.length))L(t,(function(t){H(t,e)}));else if(t.classList)t.classList.add(e);else{var a=t.className.trim();a?a.indexOf(e)<0&&(t.className="".concat(a," ").concat(e)):t.className=e}}function U(t,e){e&&(B(t.length)?L(t,(function(t){U(t,e)})):t.classList?t.classList.remove(e):t.className.indexOf(e)>=0&&(t.className=t.className.replace(e,"")))}function j(t,e,a){e&&(B(t.length)?L(t,(function(t){j(t,e,a)})):a?H(t,e):U(t,e))}var _=/([a-z\d])([A-Z])/g;function W(t){return t.replace(_,"$1-$2").toLowerCase()}function X(t,e){return A(t[e])?t[e]:t.dataset?t.dataset[e]:t.getAttribute("data-".concat(W(e)))}function K(t,e,a){A(a)?t[e]=a:t.dataset?t.dataset[e]=a:t.setAttribute("data-".concat(W(e)),a)}var F=/\s\s*/,q=function(){var t=!1;if(s){var e=!1,a=function(){},n=Object.defineProperty({},"once",{get:function(){return t=!0,e},set:function(t){e=t}});h.addEventListener("test",a,n),h.removeEventListener("test",a,n)}return t}();function J(t,e,a){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=a;e.trim().split(F).forEach((function(e){if(!q){var r=t.listeners;r&&r[e]&&r[e][a]&&(i=r[e][a],delete r[e][a],0===Object.keys(r[e]).length&&delete r[e],0===Object.keys(r).length&&delete t.listeners)}t.removeEventListener(e,i,n)}))}function V(t,e,a){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=a;e.trim().split(F).forEach((function(e){if(n.once&&!q){var r=t.listeners,o=void 0===r?{}:r;i=function(){delete o[e][a],t.removeEventListener(e,i,n);for(var r=arguments.length,s=new Array(r),h=0;h1&&void 0!==arguments[1]?arguments[1]:"contain",r=function(t){return it(t)&&t>0};if(r(n)&&r(a)){var o=a*e;"contain"===i&&o>n||"cover"===i&&o=8&&(r=h+u)}}}if(r){var l,d,m=a.getUint16(r,n);for(d=0;dt.width?3===a?s=t.height*o:h=t.width/o:3===a?h=t.width/o:s=t.height*o;var c={aspectRatio:o,naturalWidth:i,naturalHeight:r,width:s,height:h};c.left=(t.width-s)/2,c.top=(t.height-h)/2,c.oldLeft=c.left,c.oldTop=c.top,this.canvasData=c,this.limited=1===a||2===a,this.limitCanvas(!0,!0),this.initialImageData=P({},e),this.initialCanvasData=P({},c)},limitCanvas:function(t,e){var a=this.options,n=this.containerData,i=this.canvasData,r=this.cropBoxData,o=a.viewMode,s=i.aspectRatio,h=this.cropped&&r;if(t){var c=Number(a.minCanvasWidth)||0,u=Number(a.minCanvasHeight)||0;o>1?(c=Math.max(c,n.width),u=Math.max(u,n.height),3===o&&(u*s>c?c=u*s:u=c/s)):o>0&&(c?c=Math.max(c,h?r.width:0):u?u=Math.max(u,h?r.height:0):h&&(c=r.width,(u=r.height)*s>c?c=u*s:u=c/s));var l=rt({aspectRatio:s,width:c,height:u});c=l.width,u=l.height,i.minWidth=c,i.minHeight=u,i.maxWidth=1/0,i.maxHeight=1/0}if(e)if(o>(h?0:1)){var d=n.width-i.width,m=n.height-i.height;i.minLeft=Math.min(0,d),i.minTop=Math.min(0,m),i.maxLeft=Math.max(0,d),i.maxTop=Math.max(0,m),h&&this.limited&&(i.minLeft=Math.min(r.left,r.left+(r.width-i.width)),i.minTop=Math.min(r.top,r.top+(r.height-i.height)),i.maxLeft=r.left,i.maxTop=r.top,2===o&&(i.width>=n.width&&(i.minLeft=Math.min(0,d),i.maxLeft=Math.max(0,d)),i.height>=n.height&&(i.minTop=Math.min(0,m),i.maxTop=Math.max(0,m))))}else i.minLeft=-i.width,i.minTop=-i.height,i.maxLeft=n.width,i.maxTop=n.height},renderCanvas:function(t,e){var a=this.canvasData,n=this.imageData;if(e){var i=function(t){var e=t.width,a=t.height,n=t.degree;if(90===(n=Math.abs(n)%180))return{width:a,height:e};var i=n%90*Math.PI/180,r=Math.sin(i),o=Math.cos(i),s=e*o+a*r,h=e*r+a*o;return n>90?{width:h,height:s}:{width:s,height:h}}({width:n.naturalWidth*Math.abs(n.scaleX||1),height:n.naturalHeight*Math.abs(n.scaleY||1),degree:n.rotate||0}),r=i.width,o=i.height,s=a.width*(r/a.naturalWidth),h=a.height*(o/a.naturalHeight);a.left-=(s-a.width)/2,a.top-=(h-a.height)/2,a.width=s,a.height=h,a.aspectRatio=r/o,a.naturalWidth=r,a.naturalHeight=o,this.limitCanvas(!0,!1)}(a.width>a.maxWidth||a.widtha.maxHeight||a.heighte.width?i.height=i.width/a:i.width=i.height*a),this.cropBoxData=i,this.limitCropBox(!0,!0),i.width=Math.min(Math.max(i.width,i.minWidth),i.maxWidth),i.height=Math.min(Math.max(i.height,i.minHeight),i.maxHeight),i.width=Math.max(i.minWidth,i.width*n),i.height=Math.max(i.minHeight,i.height*n),i.left=e.left+(e.width-i.width)/2,i.top=e.top+(e.height-i.height)/2,i.oldLeft=i.left,i.oldTop=i.top,this.initialCropBoxData=P({},i)},limitCropBox:function(t,e){var a=this.options,n=this.containerData,i=this.canvasData,r=this.cropBoxData,o=this.limited,s=a.aspectRatio;if(t){var h=Number(a.minCropBoxWidth)||0,c=Number(a.minCropBoxHeight)||0,u=o?Math.min(n.width,i.width,i.width+i.left,n.width-i.left):n.width,l=o?Math.min(n.height,i.height,i.height+i.top,n.height-i.top):n.height;h=Math.min(h,n.width),c=Math.min(c,n.height),s&&(h&&c?c*s>h?c=h/s:h=c*s:h?c=h/s:c&&(h=c*s),l*s>u?l=u/s:u=l*s),r.minWidth=Math.min(h,u),r.minHeight=Math.min(c,l),r.maxWidth=u,r.maxHeight=l}e&&(o?(r.minLeft=Math.max(0,i.left),r.minTop=Math.max(0,i.top),r.maxLeft=Math.min(n.width,i.left+i.width)-r.width,r.maxTop=Math.min(n.height,i.top+i.height)-r.height):(r.minLeft=0,r.minTop=0,r.maxLeft=n.width-r.width,r.maxTop=n.height-r.height))},renderCropBox:function(){var t=this.options,e=this.containerData,a=this.cropBoxData;(a.width>a.maxWidth||a.widtha.maxHeight||a.height=e.width&&a.height>=e.height?"move":"all"),Y(this.cropBox,P({width:a.width,height:a.height},at({translateX:a.left,translateY:a.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),$(this.element,"crop",this.getData())}},lt={initPreview:function(){var t=this.crossOrigin,e=this.options.preview,a=t?this.crossOriginUrl:this.url,n=document.createElement("img");if(t&&(n.crossOrigin=t),n.src=a,this.viewBox.appendChild(n),this.viewBoxImage=n,e){var i=e;"string"==typeof e?i=this.element.ownerDocument.querySelectorAll(e):e.querySelector&&(i=[e]),this.previews=i,L(i,(function(e){var n=document.createElement("img");K(e,v,{width:e.offsetWidth,height:e.offsetHeight,html:e.innerHTML}),t&&(n.crossOrigin=t),n.src=a,n.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',e.innerHTML="",e.appendChild(n)}))}},resetPreview:function(){L(this.previews,(function(t){var e=X(t,v);Y(t,{width:e.width,height:e.height}),t.innerHTML=e.html,function(t,e){if(A(t[e]))try{delete t[e]}catch(a){t[e]=void 0}else if(t.dataset)try{delete t.dataset[e]}catch(a){t.dataset[e]=void 0}else t.removeAttribute("data-".concat(W(e)))}(t,v)}))},preview:function(){var t=this.imageData,e=this.canvasData,a=this.cropBoxData,n=a.width,i=a.height,r=t.width,o=t.height,s=a.left-e.left-t.left,h=a.top-e.top-t.top;this.cropped&&!this.disabled&&(Y(this.viewBoxImage,P({width:r,height:o},at(P({translateX:-s,translateY:-h},t)))),L(this.previews,(function(e){var a=X(e,v),c=a.width,u=a.height,l=c,d=u,m=1;n&&(d=i*(m=c/n)),i&&d>u&&(l=n*(m=u/i),d=u),Y(e,{width:l,height:d}),Y(e.getElementsByTagName("img")[0],P({width:r*m,height:o*m},at(P({translateX:-s*m,translateY:-h*m},t))))})))}},dt={bind:function(){var t=this.element,e=this.options,a=this.cropper;S(e.cropstart)&&V(t,"cropstart",e.cropstart),S(e.cropmove)&&V(t,"cropmove",e.cropmove),S(e.cropend)&&V(t,"cropend",e.cropend),S(e.crop)&&V(t,"crop",e.crop),S(e.zoom)&&V(t,"zoom",e.zoom),V(a,w,this.onCropStart=this.cropStart.bind(this)),e.zoomable&&e.zoomOnWheel&&V(a,"wheel mousewheel DOMMouseScroll",this.onWheel=this.wheel.bind(this)),e.toggleDragModeOnDblclick&&V(a,"dblclick",this.onDblclick=this.dblclick.bind(this)),V(t.ownerDocument,y,this.onCropMove=this.cropMove.bind(this)),V(t.ownerDocument,b,this.onCropEnd=this.cropEnd.bind(this)),e.responsive&&V(window,"resize",this.onResize=this.resize.bind(this))},unbind:function(){var t=this.element,e=this.options,a=this.cropper;S(e.cropstart)&&J(t,"cropstart",e.cropstart),S(e.cropmove)&&J(t,"cropmove",e.cropmove),S(e.cropend)&&J(t,"cropend",e.cropend),S(e.crop)&&J(t,"crop",e.crop),S(e.zoom)&&J(t,"zoom",e.zoom),J(a,w,this.onCropStart),e.zoomable&&e.zoomOnWheel&&J(a,"wheel mousewheel DOMMouseScroll",this.onWheel),e.toggleDragModeOnDblclick&&J(a,"dblclick",this.onDblclick),J(t.ownerDocument,y,this.onCropMove),J(t.ownerDocument,b,this.onCropEnd),e.responsive&&J(window,"resize",this.onResize)}},mt={resize:function(){var t=this.options,e=this.container,a=this.containerData,n=Number(t.minContainerWidth)||200,i=Number(t.minContainerHeight)||100;if(!(this.disabled||a.width<=n||a.height<=i)){var r,o,s=e.offsetWidth/a.width;if(1!==s||e.offsetHeight!==a.height)t.restore&&(r=this.getCanvasData(),o=this.getCropBoxData()),this.render(),t.restore&&(this.setCanvasData(L(r,(function(t,e){r[e]=t*s}))),this.setCropBoxData(L(o,(function(t,e){o[e]=t*s}))))}},dblclick:function(){var t,e;this.disabled||"none"===this.options.dragMode||this.setDragMode((t=this.dragBox,e=c,(t.classList?t.classList.contains(e):t.className.indexOf(e)>-1)?"move":"crop"))},wheel:function(t){var e=this,a=Number(this.options.wheelZoomRatio)||.1,n=1;this.disabled||(t.preventDefault(),this.wheeling||(this.wheeling=!0,setTimeout((function(){e.wheeling=!1}),50),t.deltaY?n=t.deltaY>0?1:-1:t.wheelDelta?n=-t.wheelDelta/120:t.detail&&(n=t.detail>0?1:-1),this.zoom(-n*a,t)))},cropStart:function(t){if(!this.disabled){var e,a=this.options,n=this.pointers;t.changedTouches?L(t.changedTouches,(function(t){n[t.identifier]=nt(t)})):n[t.pointerId||0]=nt(t),e=Object.keys(n).length>1&&a.zoomable&&a.zoomOnTouch?"zoom":X(t.target,g),N.test(e)&&!1!==$(this.element,"cropstart",{originalEvent:t,action:e})&&(t.preventDefault(),this.action=e,this.cropping=!1,"crop"===e&&(this.cropping=!0,H(this.dragBox,f)))}},cropMove:function(t){var e=this.action;if(!this.disabled&&e){var a=this.pointers;t.preventDefault(),!1!==$(this.element,"cropmove",{originalEvent:t,action:e})&&(t.changedTouches?L(t.changedTouches,(function(t){P(a[t.identifier]||{},nt(t,!0))})):P(a[t.pointerId||0]||{},nt(t,!0)),this.change(t))}},cropEnd:function(t){if(!this.disabled){var e=this.action,a=this.pointers;t.changedTouches?L(t.changedTouches,(function(t){delete a[t.identifier]})):delete a[t.pointerId||0],e&&(t.preventDefault(),Object.keys(a).length||(this.action=""),this.cropping&&(this.cropping=!1,j(this.dragBox,f,this.cropped&&this.options.modal)),$(this.element,"cropend",{originalEvent:t,action:e}))}}},ft={change:function(t){var e,a=this.options,n=this.canvasData,i=this.containerData,r=this.cropBoxData,o=this.pointers,s=this.action,h=a.aspectRatio,c=r.left,u=r.top,d=r.width,m=r.height,f=c+d,p=u+m,g=0,v=0,w=i.width,y=i.height,b=!0;!h&&t.shiftKey&&(h=d&&m?d/m:1),this.limited&&(g=r.minLeft,v=r.minTop,w=g+Math.min(i.width,n.width,n.left+n.width),y=v+Math.min(i.height,n.height,n.top+n.height));var N=o[Object.keys(o)[0]],x={x:N.endX-N.startX,y:N.endY-N.startY},C=function(t){switch(t){case"e":f+x.x>w&&(x.x=w-f);break;case"w":c+x.xy&&(x.y=y-p)}};switch(s){case"all":c+=x.x,u+=x.y;break;case"e":if(x.x>=0&&(f>=w||h&&(u<=v||p>=y))){b=!1;break}C("e"),(d+=x.x)<0&&(s="w",c-=d=-d),h&&(m=d/h,u+=(r.height-m)/2);break;case"n":if(x.y<=0&&(u<=v||h&&(c<=g||f>=w))){b=!1;break}C("n"),m-=x.y,u+=x.y,m<0&&(s="s",u-=m=-m),h&&(d=m*h,c+=(r.width-d)/2);break;case"w":if(x.x<=0&&(c<=g||h&&(u<=v||p>=y))){b=!1;break}C("w"),d-=x.x,c+=x.x,d<0&&(s="e",c-=d=-d),h&&(m=d/h,u+=(r.height-m)/2);break;case"s":if(x.y>=0&&(p>=y||h&&(c<=g||f>=w))){b=!1;break}C("s"),(m+=x.y)<0&&(s="n",u-=m=-m),h&&(d=m*h,c+=(r.width-d)/2);break;case"ne":if(h){if(x.y<=0&&(u<=v||f>=w)){b=!1;break}C("n"),m-=x.y,u+=x.y,d=m*h}else C("n"),C("e"),x.x>=0?fv&&(m-=x.y,u+=x.y):(m-=x.y,u+=x.y);d<0&&m<0?(s="sw",u-=m=-m,c-=d=-d):d<0?(s="nw",c-=d=-d):m<0&&(s="se",u-=m=-m);break;case"nw":if(h){if(x.y<=0&&(u<=v||c<=g)){b=!1;break}C("n"),m-=x.y,u+=x.y,d=m*h,c+=r.width-d}else C("n"),C("w"),x.x<=0?c>g?(d-=x.x,c+=x.x):x.y<=0&&u<=v&&(b=!1):(d-=x.x,c+=x.x),x.y<=0?u>v&&(m-=x.y,u+=x.y):(m-=x.y,u+=x.y);d<0&&m<0?(s="se",u-=m=-m,c-=d=-d):d<0?(s="ne",c-=d=-d):m<0&&(s="sw",u-=m=-m);break;case"sw":if(h){if(x.x<=0&&(c<=g||p>=y)){b=!1;break}C("w"),d-=x.x,c+=x.x,m=d/h}else C("s"),C("w"),x.x<=0?c>g?(d-=x.x,c+=x.x):x.y>=0&&p>=y&&(b=!1):(d-=x.x,c+=x.x),x.y>=0?p=0&&(f>=w||p>=y)){b=!1;break}C("e"),m=(d+=x.x)/h}else C("s"),C("e"),x.x>=0?f=0&&p>=y&&(b=!1):d+=x.x,x.y>=0?p0?s=x.y>0?"se":"ne":x.x<0&&(c-=d,s=x.y>0?"sw":"nw"),x.y<0&&(u-=m),this.cropped||(U(this.cropBox,l),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0))}b&&(r.width=d,r.height=m,r.left=c,r.top=u,this.action=s,this.renderCropBox()),L(o,(function(t){t.startX=t.endX,t.startY=t.endY}))}},pt={crop:function(){return!this.ready||this.cropped||this.disabled||(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&H(this.dragBox,f),U(this.cropBox,l),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=P({},this.initialImageData),this.canvasData=P({},this.initialCanvasData),this.cropBoxData=P({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(P(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),U(this.dragBox,f),H(this.cropBox,l)),this},replace:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return!this.disabled&&t&&(this.isImg&&(this.element.src=t),e?(this.url=t,this.image.src=t,this.ready&&(this.viewBoxImage.src=t,L(this.previews,(function(e){e.getElementsByTagName("img")[0].src=t})))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(t))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,U(this.cropper,u)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,H(this.cropper,u)),this},destroy:function(){var t=this.element;return t.cropper?(t.cropper=void 0,this.isImg&&this.replaced&&(t.src=this.originalUrl),this.uncreate(),this):this},move:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,a=this.canvasData,n=a.left,i=a.top;return this.moveTo(T(t)?t:n+Number(t),T(e)?e:i+Number(e))},moveTo:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,a=this.canvasData,n=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.movable&&(B(t)&&(a.left=t,n=!0),B(e)&&(a.top=e,n=!0),n&&this.renderCanvas(!0)),this},zoom:function(t,e){var a=this.canvasData;return t=(t=Number(t))<0?1/(1-t):1+t,this.zoomTo(a.width*t/a.naturalWidth,null,e)},zoomTo:function(t,e,a){var n=this.options,i=this.canvasData,r=i.width,o=i.height,s=i.naturalWidth,h=i.naturalHeight;if((t=Number(t))>=0&&this.ready&&!this.disabled&&n.zoomable){var c=s*t,u=h*t;if(!1===$(this.element,"zoom",{ratio:t,oldRatio:r/s,originalEvent:a}))return this;if(a){var l=this.pointers,d=Q(this.cropper),m=l&&Object.keys(l).length?function(t){var e=0,a=0,n=0;return L(t,(function(t){var i=t.startX,r=t.startY;e+=i,a+=r,n+=1})),{pageX:e/=n,pageY:a/=n}}(l):{pageX:a.pageX,pageY:a.pageY};i.left-=(c-r)*((m.pageX-d.left-i.left)/r),i.top-=(u-o)*((m.pageY-d.top-i.top)/o)}else R(e)&&B(e.x)&&B(e.y)?(i.left-=(c-r)*((e.x-i.left)/r),i.top-=(u-o)*((e.y-i.top)/o)):(i.left-=(c-r)/2,i.top-=(u-o)/2);i.width=c,i.height=u,this.renderCanvas(!0)}return this},rotate:function(t){return this.rotateTo((this.imageData.rotate||0)+Number(t))},rotateTo:function(t){return B(t=Number(t))&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=t%360,this.renderCanvas(!0,!0)),this},scaleX:function(t){var e=this.imageData.scaleY;return this.scale(t,B(e)?e:1)},scaleY:function(t){var e=this.imageData.scaleX;return this.scale(B(e)?e:1,t)},scale:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,a=this.imageData,n=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.scalable&&(B(t)&&(a.scaleX=t,n=!0),B(e)&&(a.scaleY=e,n=!0),n&&this.renderCanvas(!0,!0)),this},getData:function(){var t,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=this.options,n=this.imageData,i=this.canvasData,r=this.cropBoxData;if(this.ready&&this.cropped){t={x:r.left-i.left,y:r.top-i.top,width:r.width,height:r.height};var o=n.width/n.naturalWidth;if(L(t,(function(e,a){t[a]=e/o})),e){var s=Math.round(t.y+t.height),h=Math.round(t.x+t.width);t.x=Math.round(t.x),t.y=Math.round(t.y),t.width=h-t.x,t.height=s-t.y}}else t={x:0,y:0,width:0,height:0};return a.rotatable&&(t.rotate=n.rotate||0),a.scalable&&(t.scaleX=n.scaleX||1,t.scaleY=n.scaleY||1),t},setData:function(t){var e=this.options,a=this.imageData,n=this.canvasData,i={};if(this.ready&&!this.disabled&&R(t)){var r=!1;e.rotatable&&B(t.rotate)&&t.rotate!==a.rotate&&(a.rotate=t.rotate,r=!0),e.scalable&&(B(t.scaleX)&&t.scaleX!==a.scaleX&&(a.scaleX=t.scaleX,r=!0),B(t.scaleY)&&t.scaleY!==a.scaleY&&(a.scaleY=t.scaleY,r=!0)),r&&this.renderCanvas(!0,!0);var o=a.width/a.naturalWidth;B(t.x)&&(i.left=t.x*o+n.left),B(t.y)&&(i.top=t.y*o+n.top),B(t.width)&&(i.width=t.width*o),B(t.height)&&(i.height=t.height*o),this.setCropBoxData(i)}return this},getContainerData:function(){return this.ready?P({},this.containerData):{}},getImageData:function(){return this.sized?P({},this.imageData):{}},getCanvasData:function(){var t=this.canvasData,e={};return this.ready&&L(["left","top","width","height","naturalWidth","naturalHeight"],(function(a){e[a]=t[a]})),e},setCanvasData:function(t){var e=this.canvasData,a=e.aspectRatio;return this.ready&&!this.disabled&&R(t)&&(B(t.left)&&(e.left=t.left),B(t.top)&&(e.top=t.top),B(t.width)?(e.width=t.width,e.height=t.width/a):B(t.height)&&(e.height=t.height,e.width=t.height*a),this.renderCanvas(!0)),this},getCropBoxData:function(){var t,e=this.cropBoxData;return this.ready&&this.cropped&&(t={left:e.left,top:e.top,width:e.width,height:e.height}),t||{}},setCropBoxData:function(t){var e,a,n=this.cropBoxData,i=this.options.aspectRatio;return this.ready&&this.cropped&&!this.disabled&&R(t)&&(B(t.left)&&(n.left=t.left),B(t.top)&&(n.top=t.top),B(t.width)&&t.width!==n.width&&(e=!0,n.width=t.width),B(t.height)&&t.height!==n.height&&(a=!0,n.height=t.height),i&&(e?n.height=n.width/i:a&&(n.width=n.height*i)),this.renderCropBox()),this},getCroppedCanvas:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var e=this.canvasData,a=ot(this.image,this.imageData,e,t);if(!this.cropped)return a;var n=this.getData(),i=n.x,r=n.y,s=n.width,h=n.height,c=a.width/Math.floor(e.naturalWidth);1!==c&&(i*=c,r*=c,s*=c,h*=c);var u=s/h,l=rt({aspectRatio:u,width:t.maxWidth||1/0,height:t.maxHeight||1/0}),d=rt({aspectRatio:u,width:t.minWidth||0,height:t.minHeight||0},"cover"),m=rt({aspectRatio:u,width:t.width||(1!==c?a.width:s),height:t.height||(1!==c?a.height:h)}),f=m.width,p=m.height;f=Math.min(l.width,Math.max(d.width,f)),p=Math.min(l.height,Math.max(d.height,p));var g=document.createElement("canvas"),v=g.getContext("2d");g.width=z(f),g.height=z(p),v.fillStyle=t.fillColor||"transparent",v.fillRect(0,0,f,p);var w=t.imageSmoothingEnabled,y=void 0===w||w,b=t.imageSmoothingQuality;v.imageSmoothingEnabled=y,b&&(v.imageSmoothingQuality=b);var N,x,C,M,E,k,B=a.width,T=a.height,A=i,D=r;A<=-s||A>B?(A=0,N=0,C=0,E=0):A<=0?(C=-A,A=0,E=N=Math.min(B,s+A)):A<=B&&(C=0,E=N=Math.min(s,B-A)),N<=0||D<=-h||D>T?(D=0,x=0,M=0,k=0):D<=0?(M=-D,D=0,k=x=Math.min(T,h+D)):D<=T&&(M=0,k=x=Math.min(h,T-D));var R=[A,D,N,x];if(E>0&&k>0){var S=f/s;R.push(C*S,M*S,E*S,k*S)}return v.drawImage.apply(v,[a].concat(o(R.map((function(t){return Math.floor(z(t))}))))),g},setAspectRatio:function(t){var e=this.options;return this.disabled||T(t)||(e.aspectRatio=Math.max(0,t)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(t){var e=this.options,a=this.dragBox,n=this.face;if(this.ready&&!this.disabled){var i="crop"===t,r=e.movable&&"move"===t;t=i||r?t:"none",e.dragMode=t,K(a,g,t),j(a,c,i),j(a,p,r),e.cropBoxMovable||(K(n,g,t),j(n,c,i),j(n,p,r))}return this}},gt=h.Cropper,vt=function(){function t(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(i(this,t),!e||!M.test(e.tagName))throw new Error("The first argument is required and must be an or element.");this.element=e,this.options=P({},E,R(a)&&a),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}var e,a,n;return e=t,n=[{key:"noConflict",value:function(){return window.Cropper=gt,t}},{key:"setDefaults",value:function(t){P(E,R(t)&&t)}}],(a=[{key:"init",value:function(){var t,e=this.element,a=e.tagName.toLowerCase();if(!e.cropper){if(e.cropper=this,"img"===a){if(this.isImg=!0,t=e.getAttribute("src")||"",this.originalUrl=t,!t)return;t=e.src}else"canvas"===a&&window.HTMLCanvasElement&&(t=e.toDataURL());this.load(t)}}},{key:"load",value:function(t){var e=this;if(t){this.url=t,this.imageData={};var a=this.element,n=this.options;if(n.rotatable||n.scalable||(n.checkOrientation=!1),n.checkOrientation&&window.ArrayBuffer)if(x.test(t))C.test(t)?this.read((i=t.replace(ht,""),r=atob(i),o=new ArrayBuffer(r.length),L(s=new Uint8Array(o),(function(t,e){s[e]=r.charCodeAt(e)})),o)):this.clone();else{var i,r,o,s,h=new XMLHttpRequest,c=this.clone.bind(this);this.reloading=!0,this.xhr=h,h.ontimeout=c,h.onabort=c,h.onerror=c,h.onprogress=function(){"image/jpeg"!==h.getResponseHeader("content-type")&&h.abort()},h.onload=function(){e.read(h.response)},h.onloadend=function(){e.reloading=!1,e.xhr=null},n.checkCrossOrigin&&tt(t)&&a.crossOrigin&&(t=et(t)),h.open("GET",t),h.responseType="arraybuffer",h.withCredentials="use-credentials"===a.crossOrigin,h.send()}else this.clone()}}},{key:"read",value:function(t){var e=this.options,a=this.imageData,n=ct(t),i=0,r=1,s=1;if(n>1){this.url=function(t,e){for(var a=[],n=new Uint8Array(t);n.length>0;)a.push(st.apply(void 0,o(n.subarray(0,8192)))),n=n.subarray(8192);return"data:".concat(e,";base64,").concat(btoa(a.join("")))}(t,"image/jpeg");var h=function(t){var e=0,a=1,n=1;switch(t){case 2:a=-1;break;case 3:e=-180;break;case 4:n=-1;break;case 5:e=90,n=-1;break;case 6:e=90;break;case 7:e=90,a=-1;break;case 8:e=-90}return{rotate:e,scaleX:a,scaleY:n}}(n);i=h.rotate,r=h.scaleX,s=h.scaleY}e.rotatable&&(a.rotate=i),e.scalable&&(a.scaleX=r,a.scaleY=s),this.clone()}},{key:"clone",value:function(){var t,e,a=this.element,n=this.url;this.options.checkCrossOrigin&&tt(n)&&((t=a.crossOrigin)?e=n:(t="anonymous",e=et(n))),this.crossOrigin=t,this.crossOriginUrl=e;var i=document.createElement("img");t&&(i.crossOrigin=t),i.src=e||n,this.image=i,i.onload=this.start.bind(this),i.onerror=this.stop.bind(this),H(i,d),a.parentNode.insertBefore(i,a.nextSibling)}},{key:"start",value:function(){var t=this,e=this.isImg?this.element:this.image;e.onload=null,e.onerror=null,this.sizing=!0;var a=h.navigator&&/(Macintosh|iPhone|iPod|iPad).*AppleWebKit/i.test(h.navigator.userAgent),n=function(e,a){P(t.imageData,{naturalWidth:e,naturalHeight:a,aspectRatio:e/a}),t.sizing=!1,t.sized=!0,t.build()};if(!e.naturalWidth||a){var i=document.createElement("img"),r=document.body||document.documentElement;this.sizingImage=i,i.onload=function(){n(i.width,i.height),a||r.removeChild(i)},i.src=e.src,a||(i.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",r.appendChild(i))}else n(e.naturalWidth,e.naturalHeight)}},{key:"stop",value:function(){var t=this.image;t.onload=null,t.onerror=null,t.parentNode.removeChild(t),this.image=null}},{key:"build",value:function(){if(this.sized&&!this.ready){var t=this.element,e=this.options,a=this.image,n=t.parentNode,i=document.createElement("div");i.innerHTML='
';var r=i.querySelector(".".concat("cropper","-container")),o=r.querySelector(".".concat("cropper","-canvas")),s=r.querySelector(".".concat("cropper","-drag-box")),h=r.querySelector(".".concat("cropper","-crop-box")),c=h.querySelector(".".concat("cropper","-face"));this.container=n,this.cropper=r,this.canvas=o,this.dragBox=s,this.cropBox=h,this.viewBox=r.querySelector(".".concat("cropper","-view-box")),this.face=c,o.appendChild(a),H(t,l),n.insertBefore(r,t.nextSibling),this.isImg||U(a,d),this.initPreview(),this.bind(),e.initialAspectRatio=Math.max(0,e.initialAspectRatio)||NaN,e.aspectRatio=Math.max(0,e.aspectRatio)||NaN,e.viewMode=Math.max(0,Math.min(3,Math.round(e.viewMode)))||0,H(h,l),e.guides||H(h.getElementsByClassName("".concat("cropper","-dashed")),l),e.center||H(h.getElementsByClassName("".concat("cropper","-center")),l),e.background&&H(r,"".concat("cropper","-bg")),e.highlight||H(c,m),e.cropBoxMovable&&(H(c,p),K(c,g,"all")),e.cropBoxResizable||(H(h.getElementsByClassName("".concat("cropper","-line")),l),H(h.getElementsByClassName("".concat("cropper","-point")),l)),this.render(),this.ready=!0,this.setDragMode(e.dragMode),e.autoCrop&&this.crop(),this.setData(e.data),S(e.ready)&&V(t,"ready",e.ready,{once:!0}),$(t,"ready")}}},{key:"unbuild",value:function(){this.ready&&(this.ready=!1,this.unbind(),this.resetPreview(),this.cropper.parentNode.removeChild(this.cropper),U(this.element,l))}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}])&&r(e.prototype,a),n&&r(e,n),t}();P(vt.prototype,ut,lt,dt,mt,ft,pt),e.a=vt},652:function(t,e,a){},667:function(t,e,a){"use strict";a.d(e,"a",(function(){return i}));var n={aa:{name:"Afar",nativeName:"Afaraf"},ab:{name:"Abkhaz",nativeName:"аҧсуа бызшәа"},ae:{name:"Avestan",nativeName:"avesta"},af:{name:"Afrikaans",nativeName:"Afrikaans"},ak:{name:"Akan",nativeName:"Akan"},am:{name:"Amharic",nativeName:"አማርኛ"},an:{name:"Aragonese",nativeName:"aragonés"},ar:{name:"Arabic",nativeName:"اللغة العربية"},as:{name:"Assamese",nativeName:"অসমীয়া"},av:{name:"Avaric",nativeName:"авар мацӀ"},ay:{name:"Aymara",nativeName:"aymar aru"},az:{name:"Azerbaijani",nativeName:"azərbaycan dili"},ba:{name:"Bashkir",nativeName:"башҡорт теле"},be:{name:"Belarusian",nativeName:"беларуская мова"},bg:{name:"Bulgarian",nativeName:"български език"},bh:{name:"Bihari",nativeName:"भोजपुरी"},bi:{name:"Bislama",nativeName:"Bislama"},bm:{name:"Bambara",nativeName:"bamanankan"},bn:{name:"Bengali",nativeName:"বাংলা"},bo:{name:"Tibetan Standard",nativeName:"བོད་ཡིག"},br:{name:"Breton",nativeName:"brezhoneg"},bs:{name:"Bosnian",nativeName:"bosanski jezik"},ca:{name:"Catalan",nativeName:"català"},ce:{name:"Chechen",nativeName:"нохчийн мотт"},ch:{name:"Chamorro",nativeName:"Chamoru"},co:{name:"Corsican",nativeName:"corsu"},cr:{name:"Cree",nativeName:"ᓀᐦᐃᔭᐍᐏᐣ"},cs:{name:"Czech",nativeName:"čeština"},cu:{name:"Old Church Slavonic",nativeName:"ѩзыкъ словѣньскъ"},cv:{name:"Chuvash",nativeName:"чӑваш чӗлхи"},cy:{name:"Welsh",nativeName:"Cymraeg"},da:{name:"Danish",nativeName:"dansk"},de:{name:"German",nativeName:"Deutsch"},dv:{name:"Divehi",nativeName:"Dhivehi"},dz:{name:"Dzongkha",nativeName:"རྫོང་ཁ"},ee:{name:"Ewe",nativeName:"Eʋegbe"},el:{name:"Greek",nativeName:"ελληνικά"},en:{name:"English",nativeName:"English"},eo:{name:"Esperanto",nativeName:"Esperanto"},es:{name:"Spanish",nativeName:"Español"},et:{name:"Estonian",nativeName:"eesti"},eu:{name:"Basque",nativeName:"euskara"},fa:{name:"Persian",nativeName:"فارسی"},ff:{name:"Fula",nativeName:"Fulfulde"},fi:{name:"Finnish",nativeName:"suomi"},fj:{name:"Fijian",nativeName:"Vakaviti"},fo:{name:"Faroese",nativeName:"føroyskt"},fr:{name:"French",nativeName:"Français"},fy:{name:"Western Frisian",nativeName:"Frysk"},ga:{name:"Irish",nativeName:"Gaeilge"},gd:{name:"Scottish Gaelic",nativeName:"Gàidhlig"},gl:{name:"Galician",nativeName:"galego"},gn:{name:"Guaraní",nativeName:"Avañe'ẽ"},gu:{name:"Gujarati",nativeName:"ગુજરાતી"},gv:{name:"Manx",nativeName:"Gaelg"},ha:{name:"Hausa",nativeName:"هَوُسَ"},he:{name:"Hebrew",nativeName:"עברית"},hi:{name:"Hindi",nativeName:"हिन्दी"},ho:{name:"Hiri Motu",nativeName:"Hiri Motu"},hr:{name:"Croatian",nativeName:"hrvatski jezik"},ht:{name:"Haitian",nativeName:"Kreyòl ayisyen"},hu:{name:"Hungarian",nativeName:"magyar"},hy:{name:"Armenian",nativeName:"Հայերեն"},hz:{name:"Herero",nativeName:"Otjiherero"},ia:{name:"Interlingua",nativeName:"Interlingua"},id:{name:"Indonesian",nativeName:"Indonesian"},ie:{name:"Interlingue",nativeName:"Interlingue"},ig:{name:"Igbo",nativeName:"Asụsụ Igbo"},ii:{name:"Nuosu",nativeName:"ꆈꌠ꒿ Nuosuhxop"},ik:{name:"Inupiaq",nativeName:"Iñupiaq"},io:{name:"Ido",nativeName:"Ido"},is:{name:"Icelandic",nativeName:"Íslenska"},it:{name:"Italian",nativeName:"Italiano"},iu:{name:"Inuktitut",nativeName:"ᐃᓄᒃᑎᑐᑦ"},ja:{name:"Japanese",nativeName:"日本語"},jv:{name:"Javanese",nativeName:"basa Jawa"},ka:{name:"Georgian",nativeName:"ქართული"},kg:{name:"Kongo",nativeName:"Kikongo"},ki:{name:"Kikuyu",nativeName:"Gĩkũyũ"},kj:{name:"Kwanyama",nativeName:"Kuanyama"},kk:{name:"Kazakh",nativeName:"қазақ тілі"},kl:{name:"Kalaallisut",nativeName:"kalaallisut"},km:{name:"Khmer",nativeName:"ខេមរភាសា"},kn:{name:"Kannada",nativeName:"ಕನ್ನಡ"},ko:{name:"Korean",nativeName:"한국어"},kr:{name:"Kanuri",nativeName:"Kanuri"},ks:{name:"Kashmiri",nativeName:"कश्मीरी"},ku:{name:"Kurdish",nativeName:"Kurdî"},kv:{name:"Komi",nativeName:"коми кыв"},kw:{name:"Cornish",nativeName:"Kernewek"},ky:{name:"Kyrgyz",nativeName:"Кыргызча"},la:{name:"Latin",nativeName:"latine"},lb:{name:"Luxembourgish",nativeName:"Lëtzebuergesch"},lg:{name:"Ganda",nativeName:"Luganda"},li:{name:"Limburgish",nativeName:"Limburgs"},ln:{name:"Lingala",nativeName:"Lingála"},lo:{name:"Lao",nativeName:"ພາສາ"},lt:{name:"Lithuanian",nativeName:"lietuvių kalba"},lu:{name:"Luba-Katanga",nativeName:"Tshiluba"},lv:{name:"Latvian",nativeName:"latviešu valoda"},mg:{name:"Malagasy",nativeName:"fiteny malagasy"},mh:{name:"Marshallese",nativeName:"Kajin M̧ajeļ"},mi:{name:"Māori",nativeName:"te reo Māori"},mk:{name:"Macedonian",nativeName:"македонски јазик"},ml:{name:"Malayalam",nativeName:"മലയാളം"},mn:{name:"Mongolian",nativeName:"Монгол хэл"},mr:{name:"Marathi",nativeName:"मराठी"},ms:{name:"Malay",nativeName:"هاس ملايو‎"},mt:{name:"Maltese",nativeName:"Malti"},my:{name:"Burmese",nativeName:"ဗမာစာ"},na:{name:"Nauru",nativeName:"Ekakairũ Naoero"},nb:{name:"Norwegian Bokmål",nativeName:"Norsk bokmål"},nd:{name:"Northern Ndebele",nativeName:"isiNdebele"},ne:{name:"Nepali",nativeName:"नेपाली"},ng:{name:"Ndonga",nativeName:"Owambo"},nl:{name:"Dutch",nativeName:"Nederlands"},nn:{name:"Norwegian Nynorsk",nativeName:"Norsk nynorsk"},no:{name:"Norwegian",nativeName:"Norsk"},nr:{name:"Southern Ndebele",nativeName:"isiNdebele"},nv:{name:"Navajo",nativeName:"Diné bizaad"},ny:{name:"Chichewa",nativeName:"chiCheŵa"},oc:{name:"Occitan",nativeName:"occitan"},oj:{name:"Ojibwe",nativeName:"ᐊᓂᔑᓈᐯᒧᐎᓐ"},om:{name:"Oromo",nativeName:"Afaan Oromoo"},or:{name:"Oriya",nativeName:"ଓଡ଼ିଆ"},os:{name:"Ossetian",nativeName:"ирон æвзаг"},pa:{name:"Panjabi",nativeName:"ਪੰਜਾਬੀ"},pi:{name:"Pāli",nativeName:"पाऴि"},pl:{name:"Polish",nativeName:"język polski"},ps:{name:"Pashto",nativeName:"پښتو"},pt:{name:"Portuguese",nativeName:"Português"},qu:{name:"Quechua",nativeName:"Runa Simi"},rm:{name:"Romansh",nativeName:"rumantsch grischun"},rn:{name:"Kirundi",nativeName:"Ikirundi"},ro:{name:"Romanian",nativeName:"limba română"},ru:{name:"Russian",nativeName:"Русский"},rw:{name:"Kinyarwanda",nativeName:"Ikinyarwanda"},sa:{name:"Sanskrit",nativeName:"संस्कृतम्"},sc:{name:"Sardinian",nativeName:"sardu"},sd:{name:"Sindhi",nativeName:"सिन्धी"},se:{name:"Northern Sami",nativeName:"Davvisámegiella"},sg:{name:"Sango",nativeName:"yângâ tî sängö"},si:{name:"Sinhala",nativeName:"සිංහල"},sk:{name:"Slovak",nativeName:"slovenčina"},sl:{name:"Slovene",nativeName:"slovenski jezik"},sm:{name:"Samoan",nativeName:"gagana fa'a Samoa"},sn:{name:"Shona",nativeName:"chiShona"},so:{name:"Somali",nativeName:"Soomaaliga"},sq:{name:"Albanian",nativeName:"Shqip"},sr:{name:"Serbian",nativeName:"српски језик"},ss:{name:"Swati",nativeName:"SiSwati"},st:{name:"Southern Sotho",nativeName:"Sesotho"},su:{name:"Sundanese",nativeName:"Basa Sunda"},sv:{name:"Swedish",nativeName:"svenska"},sw:{name:"Swahili",nativeName:"Kiswahili"},ta:{name:"Tamil",nativeName:"தமிழ்"},te:{name:"Telugu",nativeName:"తెలుగు"},tg:{name:"Tajik",nativeName:"тоҷикӣ"},th:{name:"Thai",nativeName:"ไทย"},ti:{name:"Tigrinya",nativeName:"ትግርኛ"},tk:{name:"Turkmen",nativeName:"Türkmen"},tl:{name:"Tagalog",nativeName:"Wikang Tagalog"},tn:{name:"Tswana",nativeName:"Setswana"},to:{name:"Tonga",nativeName:"faka Tonga"},tr:{name:"Turkish",nativeName:"Türkçe"},ts:{name:"Tsonga",nativeName:"Xitsonga"},tt:{name:"Tatar",nativeName:"татар теле"},tw:{name:"Twi",nativeName:"Twi"},ty:{name:"Tahitian",nativeName:"Reo Tahiti"},ug:{name:"Uyghur",nativeName:"ئۇيغۇرچە‎"},uk:{name:"Ukrainian",nativeName:"Українська"},ur:{name:"Urdu",nativeName:"اردو"},uz:{name:"Uzbek",nativeName:"Ўзбек"},ve:{name:"Venda",nativeName:"Tshivenḓa"},vi:{name:"Vietnamese",nativeName:"Tiếng Việt"},vo:{name:"Volapük",nativeName:"Volapük"},wa:{name:"Walloon",nativeName:"walon"},wo:{name:"Wolof",nativeName:"Wollof"},xh:{name:"Xhosa",nativeName:"isiXhosa"},yi:{name:"Yiddish",nativeName:"ייִדיש"},yo:{name:"Yoruba",nativeName:"Yorùbá"},za:{name:"Zhuang",nativeName:"Saɯ cueŋƅ"},zh:{name:"Chinese",nativeName:"中文"},zu:{name:"Zulu",nativeName:"isiZulu"}};class i{static getLanguages(t=[]){return t.map(t=>({code:t,name:i.getName(t),nativeName:i.getNativeName(t)}))}static getName(t){return i.validate(t)?n[t].name:""}static getAllNames(){return Object.values(n).map(t=>t.name)}static getNativeName(t){return i.validate(t)?n[t].nativeName:""}static getAllNativeNames(){return Object.values(n).map(t=>t.nativeName)}static getCode(t){return Object.keys(n).find(e=>{const a=n[e];return a.name.toLowerCase()===t.toLowerCase()||a.nativeName.toLowerCase()===t.toLowerCase()})||""}static getAllCodes(){return Object.keys(n)}static validate(t){return void 0!==n[t]}}}}]); -//# sourceMappingURL=3.6c8e014d70907359ad5a.js.map \ No newline at end of file + */function n(t){return(n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function i(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function r(t,e){for(var a=0;a1?e-1:0),n=1;n0&&a.forEach((function(e){A(e)&&Object.keys(e).forEach((function(a){t[a]=e[a]}))})),t},I=/\.\d*(?:0|9){12}\d*$/;function z(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e11;return I.test(t)?Math.round(t*e)/e:t}var O=/^(?:width|height|left|top|marginLeft|marginTop)$/;function Y(t,e){var a=t.style;L(e,(function(t,e){O.test(e)&&B(t)&&(t+="px"),a[e]=t}))}function H(t,e){if(e)if(B(t.length))L(t,(function(t){H(t,e)}));else if(t.classList)t.classList.add(e);else{var a=t.className.trim();a?a.indexOf(e)<0&&(t.className="".concat(a," ").concat(e)):t.className=e}}function U(t,e){e&&(B(t.length)?L(t,(function(t){U(t,e)})):t.classList?t.classList.remove(e):t.className.indexOf(e)>=0&&(t.className=t.className.replace(e,"")))}function j(t,e,a){e&&(B(t.length)?L(t,(function(t){j(t,e,a)})):a?H(t,e):U(t,e))}var _=/([a-z\d])([A-Z])/g;function W(t){return t.replace(_,"$1-$2").toLowerCase()}function X(t,e){return A(t[e])?t[e]:t.dataset?t.dataset[e]:t.getAttribute("data-".concat(W(e)))}function K(t,e,a){A(a)?t[e]=a:t.dataset?t.dataset[e]=a:t.setAttribute("data-".concat(W(e)),a)}var F=/\s\s*/,q=function(){var t=!1;if(s){var e=!1,a=function(){},n=Object.defineProperty({},"once",{get:function(){return t=!0,e},set:function(t){e=t}});h.addEventListener("test",a,n),h.removeEventListener("test",a,n)}return t}();function J(t,e,a){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=a;e.trim().split(F).forEach((function(e){if(!q){var r=t.listeners;r&&r[e]&&r[e][a]&&(i=r[e][a],delete r[e][a],0===Object.keys(r[e]).length&&delete r[e],0===Object.keys(r).length&&delete t.listeners)}t.removeEventListener(e,i,n)}))}function V(t,e,a){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},i=a;e.trim().split(F).forEach((function(e){if(n.once&&!q){var r=t.listeners,o=void 0===r?{}:r;i=function(){delete o[e][a],t.removeEventListener(e,i,n);for(var r=arguments.length,s=new Array(r),h=0;h1&&void 0!==arguments[1]?arguments[1]:"contain",r=function(t){return it(t)&&t>0};if(r(n)&&r(a)){var o=a*e;"contain"===i&&o>n||"cover"===i&&o=8&&(r=h+u)}}}if(r){var l,d,m=a.getUint16(r,n);for(d=0;dt.width?3===a?s=t.height*o:h=t.width/o:3===a?h=t.width/o:s=t.height*o;var c={aspectRatio:o,naturalWidth:i,naturalHeight:r,width:s,height:h};c.left=(t.width-s)/2,c.top=(t.height-h)/2,c.oldLeft=c.left,c.oldTop=c.top,this.canvasData=c,this.limited=1===a||2===a,this.limitCanvas(!0,!0),this.initialImageData=P({},e),this.initialCanvasData=P({},c)},limitCanvas:function(t,e){var a=this.options,n=this.containerData,i=this.canvasData,r=this.cropBoxData,o=a.viewMode,s=i.aspectRatio,h=this.cropped&&r;if(t){var c=Number(a.minCanvasWidth)||0,u=Number(a.minCanvasHeight)||0;o>1?(c=Math.max(c,n.width),u=Math.max(u,n.height),3===o&&(u*s>c?c=u*s:u=c/s)):o>0&&(c?c=Math.max(c,h?r.width:0):u?u=Math.max(u,h?r.height:0):h&&(c=r.width,(u=r.height)*s>c?c=u*s:u=c/s));var l=rt({aspectRatio:s,width:c,height:u});c=l.width,u=l.height,i.minWidth=c,i.minHeight=u,i.maxWidth=1/0,i.maxHeight=1/0}if(e)if(o>(h?0:1)){var d=n.width-i.width,m=n.height-i.height;i.minLeft=Math.min(0,d),i.minTop=Math.min(0,m),i.maxLeft=Math.max(0,d),i.maxTop=Math.max(0,m),h&&this.limited&&(i.minLeft=Math.min(r.left,r.left+(r.width-i.width)),i.minTop=Math.min(r.top,r.top+(r.height-i.height)),i.maxLeft=r.left,i.maxTop=r.top,2===o&&(i.width>=n.width&&(i.minLeft=Math.min(0,d),i.maxLeft=Math.max(0,d)),i.height>=n.height&&(i.minTop=Math.min(0,m),i.maxTop=Math.max(0,m))))}else i.minLeft=-i.width,i.minTop=-i.height,i.maxLeft=n.width,i.maxTop=n.height},renderCanvas:function(t,e){var a=this.canvasData,n=this.imageData;if(e){var i=function(t){var e=t.width,a=t.height,n=t.degree;if(90===(n=Math.abs(n)%180))return{width:a,height:e};var i=n%90*Math.PI/180,r=Math.sin(i),o=Math.cos(i),s=e*o+a*r,h=e*r+a*o;return n>90?{width:h,height:s}:{width:s,height:h}}({width:n.naturalWidth*Math.abs(n.scaleX||1),height:n.naturalHeight*Math.abs(n.scaleY||1),degree:n.rotate||0}),r=i.width,o=i.height,s=a.width*(r/a.naturalWidth),h=a.height*(o/a.naturalHeight);a.left-=(s-a.width)/2,a.top-=(h-a.height)/2,a.width=s,a.height=h,a.aspectRatio=r/o,a.naturalWidth=r,a.naturalHeight=o,this.limitCanvas(!0,!1)}(a.width>a.maxWidth||a.widtha.maxHeight||a.heighte.width?i.height=i.width/a:i.width=i.height*a),this.cropBoxData=i,this.limitCropBox(!0,!0),i.width=Math.min(Math.max(i.width,i.minWidth),i.maxWidth),i.height=Math.min(Math.max(i.height,i.minHeight),i.maxHeight),i.width=Math.max(i.minWidth,i.width*n),i.height=Math.max(i.minHeight,i.height*n),i.left=e.left+(e.width-i.width)/2,i.top=e.top+(e.height-i.height)/2,i.oldLeft=i.left,i.oldTop=i.top,this.initialCropBoxData=P({},i)},limitCropBox:function(t,e){var a=this.options,n=this.containerData,i=this.canvasData,r=this.cropBoxData,o=this.limited,s=a.aspectRatio;if(t){var h=Number(a.minCropBoxWidth)||0,c=Number(a.minCropBoxHeight)||0,u=o?Math.min(n.width,i.width,i.width+i.left,n.width-i.left):n.width,l=o?Math.min(n.height,i.height,i.height+i.top,n.height-i.top):n.height;h=Math.min(h,n.width),c=Math.min(c,n.height),s&&(h&&c?c*s>h?c=h/s:h=c*s:h?c=h/s:c&&(h=c*s),l*s>u?l=u/s:u=l*s),r.minWidth=Math.min(h,u),r.minHeight=Math.min(c,l),r.maxWidth=u,r.maxHeight=l}e&&(o?(r.minLeft=Math.max(0,i.left),r.minTop=Math.max(0,i.top),r.maxLeft=Math.min(n.width,i.left+i.width)-r.width,r.maxTop=Math.min(n.height,i.top+i.height)-r.height):(r.minLeft=0,r.minTop=0,r.maxLeft=n.width-r.width,r.maxTop=n.height-r.height))},renderCropBox:function(){var t=this.options,e=this.containerData,a=this.cropBoxData;(a.width>a.maxWidth||a.widtha.maxHeight||a.height=e.width&&a.height>=e.height?"move":"all"),Y(this.cropBox,P({width:a.width,height:a.height},at({translateX:a.left,translateY:a.top}))),this.cropped&&this.limited&&this.limitCanvas(!0,!0),this.disabled||this.output()},output:function(){this.preview(),$(this.element,"crop",this.getData())}},lt={initPreview:function(){var t=this.crossOrigin,e=this.options.preview,a=t?this.crossOriginUrl:this.url,n=document.createElement("img");if(t&&(n.crossOrigin=t),n.src=a,this.viewBox.appendChild(n),this.viewBoxImage=n,e){var i=e;"string"==typeof e?i=this.element.ownerDocument.querySelectorAll(e):e.querySelector&&(i=[e]),this.previews=i,L(i,(function(e){var n=document.createElement("img");K(e,v,{width:e.offsetWidth,height:e.offsetHeight,html:e.innerHTML}),t&&(n.crossOrigin=t),n.src=a,n.style.cssText='display:block;width:100%;height:auto;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;image-orientation:0deg!important;"',e.innerHTML="",e.appendChild(n)}))}},resetPreview:function(){L(this.previews,(function(t){var e=X(t,v);Y(t,{width:e.width,height:e.height}),t.innerHTML=e.html,function(t,e){if(A(t[e]))try{delete t[e]}catch(a){t[e]=void 0}else if(t.dataset)try{delete t.dataset[e]}catch(a){t.dataset[e]=void 0}else t.removeAttribute("data-".concat(W(e)))}(t,v)}))},preview:function(){var t=this.imageData,e=this.canvasData,a=this.cropBoxData,n=a.width,i=a.height,r=t.width,o=t.height,s=a.left-e.left-t.left,h=a.top-e.top-t.top;this.cropped&&!this.disabled&&(Y(this.viewBoxImage,P({width:r,height:o},at(P({translateX:-s,translateY:-h},t)))),L(this.previews,(function(e){var a=X(e,v),c=a.width,u=a.height,l=c,d=u,m=1;n&&(d=i*(m=c/n)),i&&d>u&&(l=n*(m=u/i),d=u),Y(e,{width:l,height:d}),Y(e.getElementsByTagName("img")[0],P({width:r*m,height:o*m},at(P({translateX:-s*m,translateY:-h*m},t))))})))}},dt={bind:function(){var t=this.element,e=this.options,a=this.cropper;S(e.cropstart)&&V(t,"cropstart",e.cropstart),S(e.cropmove)&&V(t,"cropmove",e.cropmove),S(e.cropend)&&V(t,"cropend",e.cropend),S(e.crop)&&V(t,"crop",e.crop),S(e.zoom)&&V(t,"zoom",e.zoom),V(a,w,this.onCropStart=this.cropStart.bind(this)),e.zoomable&&e.zoomOnWheel&&V(a,"wheel mousewheel DOMMouseScroll",this.onWheel=this.wheel.bind(this)),e.toggleDragModeOnDblclick&&V(a,"dblclick",this.onDblclick=this.dblclick.bind(this)),V(t.ownerDocument,y,this.onCropMove=this.cropMove.bind(this)),V(t.ownerDocument,b,this.onCropEnd=this.cropEnd.bind(this)),e.responsive&&V(window,"resize",this.onResize=this.resize.bind(this))},unbind:function(){var t=this.element,e=this.options,a=this.cropper;S(e.cropstart)&&J(t,"cropstart",e.cropstart),S(e.cropmove)&&J(t,"cropmove",e.cropmove),S(e.cropend)&&J(t,"cropend",e.cropend),S(e.crop)&&J(t,"crop",e.crop),S(e.zoom)&&J(t,"zoom",e.zoom),J(a,w,this.onCropStart),e.zoomable&&e.zoomOnWheel&&J(a,"wheel mousewheel DOMMouseScroll",this.onWheel),e.toggleDragModeOnDblclick&&J(a,"dblclick",this.onDblclick),J(t.ownerDocument,y,this.onCropMove),J(t.ownerDocument,b,this.onCropEnd),e.responsive&&J(window,"resize",this.onResize)}},mt={resize:function(){var t=this.options,e=this.container,a=this.containerData,n=Number(t.minContainerWidth)||200,i=Number(t.minContainerHeight)||100;if(!(this.disabled||a.width<=n||a.height<=i)){var r,o,s=e.offsetWidth/a.width;if(1!==s||e.offsetHeight!==a.height)t.restore&&(r=this.getCanvasData(),o=this.getCropBoxData()),this.render(),t.restore&&(this.setCanvasData(L(r,(function(t,e){r[e]=t*s}))),this.setCropBoxData(L(o,(function(t,e){o[e]=t*s}))))}},dblclick:function(){var t,e;this.disabled||"none"===this.options.dragMode||this.setDragMode((t=this.dragBox,e=c,(t.classList?t.classList.contains(e):t.className.indexOf(e)>-1)?"move":"crop"))},wheel:function(t){var e=this,a=Number(this.options.wheelZoomRatio)||.1,n=1;this.disabled||(t.preventDefault(),this.wheeling||(this.wheeling=!0,setTimeout((function(){e.wheeling=!1}),50),t.deltaY?n=t.deltaY>0?1:-1:t.wheelDelta?n=-t.wheelDelta/120:t.detail&&(n=t.detail>0?1:-1),this.zoom(-n*a,t)))},cropStart:function(t){if(!this.disabled){var e,a=this.options,n=this.pointers;t.changedTouches?L(t.changedTouches,(function(t){n[t.identifier]=nt(t)})):n[t.pointerId||0]=nt(t),e=Object.keys(n).length>1&&a.zoomable&&a.zoomOnTouch?"zoom":X(t.target,g),N.test(e)&&!1!==$(this.element,"cropstart",{originalEvent:t,action:e})&&(t.preventDefault(),this.action=e,this.cropping=!1,"crop"===e&&(this.cropping=!0,H(this.dragBox,f)))}},cropMove:function(t){var e=this.action;if(!this.disabled&&e){var a=this.pointers;t.preventDefault(),!1!==$(this.element,"cropmove",{originalEvent:t,action:e})&&(t.changedTouches?L(t.changedTouches,(function(t){P(a[t.identifier]||{},nt(t,!0))})):P(a[t.pointerId||0]||{},nt(t,!0)),this.change(t))}},cropEnd:function(t){if(!this.disabled){var e=this.action,a=this.pointers;t.changedTouches?L(t.changedTouches,(function(t){delete a[t.identifier]})):delete a[t.pointerId||0],e&&(t.preventDefault(),Object.keys(a).length||(this.action=""),this.cropping&&(this.cropping=!1,j(this.dragBox,f,this.cropped&&this.options.modal)),$(this.element,"cropend",{originalEvent:t,action:e}))}}},ft={change:function(t){var e,a=this.options,n=this.canvasData,i=this.containerData,r=this.cropBoxData,o=this.pointers,s=this.action,h=a.aspectRatio,c=r.left,u=r.top,d=r.width,m=r.height,f=c+d,p=u+m,g=0,v=0,w=i.width,y=i.height,b=!0;!h&&t.shiftKey&&(h=d&&m?d/m:1),this.limited&&(g=r.minLeft,v=r.minTop,w=g+Math.min(i.width,n.width,n.left+n.width),y=v+Math.min(i.height,n.height,n.top+n.height));var N=o[Object.keys(o)[0]],x={x:N.endX-N.startX,y:N.endY-N.startY},C=function(t){switch(t){case"e":f+x.x>w&&(x.x=w-f);break;case"w":c+x.xy&&(x.y=y-p)}};switch(s){case"all":c+=x.x,u+=x.y;break;case"e":if(x.x>=0&&(f>=w||h&&(u<=v||p>=y))){b=!1;break}C("e"),(d+=x.x)<0&&(s="w",c-=d=-d),h&&(m=d/h,u+=(r.height-m)/2);break;case"n":if(x.y<=0&&(u<=v||h&&(c<=g||f>=w))){b=!1;break}C("n"),m-=x.y,u+=x.y,m<0&&(s="s",u-=m=-m),h&&(d=m*h,c+=(r.width-d)/2);break;case"w":if(x.x<=0&&(c<=g||h&&(u<=v||p>=y))){b=!1;break}C("w"),d-=x.x,c+=x.x,d<0&&(s="e",c-=d=-d),h&&(m=d/h,u+=(r.height-m)/2);break;case"s":if(x.y>=0&&(p>=y||h&&(c<=g||f>=w))){b=!1;break}C("s"),(m+=x.y)<0&&(s="n",u-=m=-m),h&&(d=m*h,c+=(r.width-d)/2);break;case"ne":if(h){if(x.y<=0&&(u<=v||f>=w)){b=!1;break}C("n"),m-=x.y,u+=x.y,d=m*h}else C("n"),C("e"),x.x>=0?fv&&(m-=x.y,u+=x.y):(m-=x.y,u+=x.y);d<0&&m<0?(s="sw",u-=m=-m,c-=d=-d):d<0?(s="nw",c-=d=-d):m<0&&(s="se",u-=m=-m);break;case"nw":if(h){if(x.y<=0&&(u<=v||c<=g)){b=!1;break}C("n"),m-=x.y,u+=x.y,d=m*h,c+=r.width-d}else C("n"),C("w"),x.x<=0?c>g?(d-=x.x,c+=x.x):x.y<=0&&u<=v&&(b=!1):(d-=x.x,c+=x.x),x.y<=0?u>v&&(m-=x.y,u+=x.y):(m-=x.y,u+=x.y);d<0&&m<0?(s="se",u-=m=-m,c-=d=-d):d<0?(s="ne",c-=d=-d):m<0&&(s="sw",u-=m=-m);break;case"sw":if(h){if(x.x<=0&&(c<=g||p>=y)){b=!1;break}C("w"),d-=x.x,c+=x.x,m=d/h}else C("s"),C("w"),x.x<=0?c>g?(d-=x.x,c+=x.x):x.y>=0&&p>=y&&(b=!1):(d-=x.x,c+=x.x),x.y>=0?p=0&&(f>=w||p>=y)){b=!1;break}C("e"),m=(d+=x.x)/h}else C("s"),C("e"),x.x>=0?f=0&&p>=y&&(b=!1):d+=x.x,x.y>=0?p0?s=x.y>0?"se":"ne":x.x<0&&(c-=d,s=x.y>0?"sw":"nw"),x.y<0&&(u-=m),this.cropped||(U(this.cropBox,l),this.cropped=!0,this.limited&&this.limitCropBox(!0,!0))}b&&(r.width=d,r.height=m,r.left=c,r.top=u,this.action=s,this.renderCropBox()),L(o,(function(t){t.startX=t.endX,t.startY=t.endY}))}},pt={crop:function(){return!this.ready||this.cropped||this.disabled||(this.cropped=!0,this.limitCropBox(!0,!0),this.options.modal&&H(this.dragBox,f),U(this.cropBox,l),this.setCropBoxData(this.initialCropBoxData)),this},reset:function(){return this.ready&&!this.disabled&&(this.imageData=P({},this.initialImageData),this.canvasData=P({},this.initialCanvasData),this.cropBoxData=P({},this.initialCropBoxData),this.renderCanvas(),this.cropped&&this.renderCropBox()),this},clear:function(){return this.cropped&&!this.disabled&&(P(this.cropBoxData,{left:0,top:0,width:0,height:0}),this.cropped=!1,this.renderCropBox(),this.limitCanvas(!0,!0),this.renderCanvas(),U(this.dragBox,f),H(this.cropBox,l)),this},replace:function(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return!this.disabled&&t&&(this.isImg&&(this.element.src=t),e?(this.url=t,this.image.src=t,this.ready&&(this.viewBoxImage.src=t,L(this.previews,(function(e){e.getElementsByTagName("img")[0].src=t})))):(this.isImg&&(this.replaced=!0),this.options.data=null,this.uncreate(),this.load(t))),this},enable:function(){return this.ready&&this.disabled&&(this.disabled=!1,U(this.cropper,u)),this},disable:function(){return this.ready&&!this.disabled&&(this.disabled=!0,H(this.cropper,u)),this},destroy:function(){var t=this.element;return t.cropper?(t.cropper=void 0,this.isImg&&this.replaced&&(t.src=this.originalUrl),this.uncreate(),this):this},move:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,a=this.canvasData,n=a.left,i=a.top;return this.moveTo(T(t)?t:n+Number(t),T(e)?e:i+Number(e))},moveTo:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,a=this.canvasData,n=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.movable&&(B(t)&&(a.left=t,n=!0),B(e)&&(a.top=e,n=!0),n&&this.renderCanvas(!0)),this},zoom:function(t,e){var a=this.canvasData;return t=(t=Number(t))<0?1/(1-t):1+t,this.zoomTo(a.width*t/a.naturalWidth,null,e)},zoomTo:function(t,e,a){var n=this.options,i=this.canvasData,r=i.width,o=i.height,s=i.naturalWidth,h=i.naturalHeight;if((t=Number(t))>=0&&this.ready&&!this.disabled&&n.zoomable){var c=s*t,u=h*t;if(!1===$(this.element,"zoom",{ratio:t,oldRatio:r/s,originalEvent:a}))return this;if(a){var l=this.pointers,d=Q(this.cropper),m=l&&Object.keys(l).length?function(t){var e=0,a=0,n=0;return L(t,(function(t){var i=t.startX,r=t.startY;e+=i,a+=r,n+=1})),{pageX:e/=n,pageY:a/=n}}(l):{pageX:a.pageX,pageY:a.pageY};i.left-=(c-r)*((m.pageX-d.left-i.left)/r),i.top-=(u-o)*((m.pageY-d.top-i.top)/o)}else R(e)&&B(e.x)&&B(e.y)?(i.left-=(c-r)*((e.x-i.left)/r),i.top-=(u-o)*((e.y-i.top)/o)):(i.left-=(c-r)/2,i.top-=(u-o)/2);i.width=c,i.height=u,this.renderCanvas(!0)}return this},rotate:function(t){return this.rotateTo((this.imageData.rotate||0)+Number(t))},rotateTo:function(t){return B(t=Number(t))&&this.ready&&!this.disabled&&this.options.rotatable&&(this.imageData.rotate=t%360,this.renderCanvas(!0,!0)),this},scaleX:function(t){var e=this.imageData.scaleY;return this.scale(t,B(e)?e:1)},scaleY:function(t){var e=this.imageData.scaleX;return this.scale(B(e)?e:1,t)},scale:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:t,a=this.imageData,n=!1;return t=Number(t),e=Number(e),this.ready&&!this.disabled&&this.options.scalable&&(B(t)&&(a.scaleX=t,n=!0),B(e)&&(a.scaleY=e,n=!0),n&&this.renderCanvas(!0,!0)),this},getData:function(){var t,e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],a=this.options,n=this.imageData,i=this.canvasData,r=this.cropBoxData;if(this.ready&&this.cropped){t={x:r.left-i.left,y:r.top-i.top,width:r.width,height:r.height};var o=n.width/n.naturalWidth;if(L(t,(function(e,a){t[a]=e/o})),e){var s=Math.round(t.y+t.height),h=Math.round(t.x+t.width);t.x=Math.round(t.x),t.y=Math.round(t.y),t.width=h-t.x,t.height=s-t.y}}else t={x:0,y:0,width:0,height:0};return a.rotatable&&(t.rotate=n.rotate||0),a.scalable&&(t.scaleX=n.scaleX||1,t.scaleY=n.scaleY||1),t},setData:function(t){var e=this.options,a=this.imageData,n=this.canvasData,i={};if(this.ready&&!this.disabled&&R(t)){var r=!1;e.rotatable&&B(t.rotate)&&t.rotate!==a.rotate&&(a.rotate=t.rotate,r=!0),e.scalable&&(B(t.scaleX)&&t.scaleX!==a.scaleX&&(a.scaleX=t.scaleX,r=!0),B(t.scaleY)&&t.scaleY!==a.scaleY&&(a.scaleY=t.scaleY,r=!0)),r&&this.renderCanvas(!0,!0);var o=a.width/a.naturalWidth;B(t.x)&&(i.left=t.x*o+n.left),B(t.y)&&(i.top=t.y*o+n.top),B(t.width)&&(i.width=t.width*o),B(t.height)&&(i.height=t.height*o),this.setCropBoxData(i)}return this},getContainerData:function(){return this.ready?P({},this.containerData):{}},getImageData:function(){return this.sized?P({},this.imageData):{}},getCanvasData:function(){var t=this.canvasData,e={};return this.ready&&L(["left","top","width","height","naturalWidth","naturalHeight"],(function(a){e[a]=t[a]})),e},setCanvasData:function(t){var e=this.canvasData,a=e.aspectRatio;return this.ready&&!this.disabled&&R(t)&&(B(t.left)&&(e.left=t.left),B(t.top)&&(e.top=t.top),B(t.width)?(e.width=t.width,e.height=t.width/a):B(t.height)&&(e.height=t.height,e.width=t.height*a),this.renderCanvas(!0)),this},getCropBoxData:function(){var t,e=this.cropBoxData;return this.ready&&this.cropped&&(t={left:e.left,top:e.top,width:e.width,height:e.height}),t||{}},setCropBoxData:function(t){var e,a,n=this.cropBoxData,i=this.options.aspectRatio;return this.ready&&this.cropped&&!this.disabled&&R(t)&&(B(t.left)&&(n.left=t.left),B(t.top)&&(n.top=t.top),B(t.width)&&t.width!==n.width&&(e=!0,n.width=t.width),B(t.height)&&t.height!==n.height&&(a=!0,n.height=t.height),i&&(e?n.height=n.width/i:a&&(n.width=n.height*i)),this.renderCropBox()),this},getCroppedCanvas:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!this.ready||!window.HTMLCanvasElement)return null;var e=this.canvasData,a=ot(this.image,this.imageData,e,t);if(!this.cropped)return a;var n=this.getData(),i=n.x,r=n.y,s=n.width,h=n.height,c=a.width/Math.floor(e.naturalWidth);1!==c&&(i*=c,r*=c,s*=c,h*=c);var u=s/h,l=rt({aspectRatio:u,width:t.maxWidth||1/0,height:t.maxHeight||1/0}),d=rt({aspectRatio:u,width:t.minWidth||0,height:t.minHeight||0},"cover"),m=rt({aspectRatio:u,width:t.width||(1!==c?a.width:s),height:t.height||(1!==c?a.height:h)}),f=m.width,p=m.height;f=Math.min(l.width,Math.max(d.width,f)),p=Math.min(l.height,Math.max(d.height,p));var g=document.createElement("canvas"),v=g.getContext("2d");g.width=z(f),g.height=z(p),v.fillStyle=t.fillColor||"transparent",v.fillRect(0,0,f,p);var w=t.imageSmoothingEnabled,y=void 0===w||w,b=t.imageSmoothingQuality;v.imageSmoothingEnabled=y,b&&(v.imageSmoothingQuality=b);var N,x,C,M,E,k,B=a.width,T=a.height,A=i,D=r;A<=-s||A>B?(A=0,N=0,C=0,E=0):A<=0?(C=-A,A=0,E=N=Math.min(B,s+A)):A<=B&&(C=0,E=N=Math.min(s,B-A)),N<=0||D<=-h||D>T?(D=0,x=0,M=0,k=0):D<=0?(M=-D,D=0,k=x=Math.min(T,h+D)):D<=T&&(M=0,k=x=Math.min(h,T-D));var R=[A,D,N,x];if(E>0&&k>0){var S=f/s;R.push(C*S,M*S,E*S,k*S)}return v.drawImage.apply(v,[a].concat(o(R.map((function(t){return Math.floor(z(t))}))))),g},setAspectRatio:function(t){var e=this.options;return this.disabled||T(t)||(e.aspectRatio=Math.max(0,t)||NaN,this.ready&&(this.initCropBox(),this.cropped&&this.renderCropBox())),this},setDragMode:function(t){var e=this.options,a=this.dragBox,n=this.face;if(this.ready&&!this.disabled){var i="crop"===t,r=e.movable&&"move"===t;t=i||r?t:"none",e.dragMode=t,K(a,g,t),j(a,c,i),j(a,p,r),e.cropBoxMovable||(K(n,g,t),j(n,c,i),j(n,p,r))}return this}},gt=h.Cropper,vt=function(){function t(e){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(i(this,t),!e||!M.test(e.tagName))throw new Error("The first argument is required and must be an or element.");this.element=e,this.options=P({},E,R(a)&&a),this.cropped=!1,this.disabled=!1,this.pointers={},this.ready=!1,this.reloading=!1,this.replaced=!1,this.sized=!1,this.sizing=!1,this.init()}var e,a,n;return e=t,n=[{key:"noConflict",value:function(){return window.Cropper=gt,t}},{key:"setDefaults",value:function(t){P(E,R(t)&&t)}}],(a=[{key:"init",value:function(){var t,e=this.element,a=e.tagName.toLowerCase();if(!e.cropper){if(e.cropper=this,"img"===a){if(this.isImg=!0,t=e.getAttribute("src")||"",this.originalUrl=t,!t)return;t=e.src}else"canvas"===a&&window.HTMLCanvasElement&&(t=e.toDataURL());this.load(t)}}},{key:"load",value:function(t){var e=this;if(t){this.url=t,this.imageData={};var a=this.element,n=this.options;if(n.rotatable||n.scalable||(n.checkOrientation=!1),n.checkOrientation&&window.ArrayBuffer)if(x.test(t))C.test(t)?this.read((i=t.replace(ht,""),r=atob(i),o=new ArrayBuffer(r.length),L(s=new Uint8Array(o),(function(t,e){s[e]=r.charCodeAt(e)})),o)):this.clone();else{var i,r,o,s,h=new XMLHttpRequest,c=this.clone.bind(this);this.reloading=!0,this.xhr=h,h.ontimeout=c,h.onabort=c,h.onerror=c,h.onprogress=function(){"image/jpeg"!==h.getResponseHeader("content-type")&&h.abort()},h.onload=function(){e.read(h.response)},h.onloadend=function(){e.reloading=!1,e.xhr=null},n.checkCrossOrigin&&tt(t)&&a.crossOrigin&&(t=et(t)),h.open("GET",t),h.responseType="arraybuffer",h.withCredentials="use-credentials"===a.crossOrigin,h.send()}else this.clone()}}},{key:"read",value:function(t){var e=this.options,a=this.imageData,n=ct(t),i=0,r=1,s=1;if(n>1){this.url=function(t,e){for(var a=[],n=new Uint8Array(t);n.length>0;)a.push(st.apply(void 0,o(n.subarray(0,8192)))),n=n.subarray(8192);return"data:".concat(e,";base64,").concat(btoa(a.join("")))}(t,"image/jpeg");var h=function(t){var e=0,a=1,n=1;switch(t){case 2:a=-1;break;case 3:e=-180;break;case 4:n=-1;break;case 5:e=90,n=-1;break;case 6:e=90;break;case 7:e=90,a=-1;break;case 8:e=-90}return{rotate:e,scaleX:a,scaleY:n}}(n);i=h.rotate,r=h.scaleX,s=h.scaleY}e.rotatable&&(a.rotate=i),e.scalable&&(a.scaleX=r,a.scaleY=s),this.clone()}},{key:"clone",value:function(){var t,e,a=this.element,n=this.url;this.options.checkCrossOrigin&&tt(n)&&((t=a.crossOrigin)?e=n:(t="anonymous",e=et(n))),this.crossOrigin=t,this.crossOriginUrl=e;var i=document.createElement("img");t&&(i.crossOrigin=t),i.src=e||n,this.image=i,i.onload=this.start.bind(this),i.onerror=this.stop.bind(this),H(i,d),a.parentNode.insertBefore(i,a.nextSibling)}},{key:"start",value:function(){var t=this,e=this.isImg?this.element:this.image;e.onload=null,e.onerror=null,this.sizing=!0;var a=h.navigator&&/(Macintosh|iPhone|iPod|iPad).*AppleWebKit/i.test(h.navigator.userAgent),n=function(e,a){P(t.imageData,{naturalWidth:e,naturalHeight:a,aspectRatio:e/a}),t.sizing=!1,t.sized=!0,t.build()};if(!e.naturalWidth||a){var i=document.createElement("img"),r=document.body||document.documentElement;this.sizingImage=i,i.onload=function(){n(i.width,i.height),a||r.removeChild(i)},i.src=e.src,a||(i.style.cssText="left:0;max-height:none!important;max-width:none!important;min-height:0!important;min-width:0!important;opacity:0;position:absolute;top:0;z-index:-1;",r.appendChild(i))}else n(e.naturalWidth,e.naturalHeight)}},{key:"stop",value:function(){var t=this.image;t.onload=null,t.onerror=null,t.parentNode.removeChild(t),this.image=null}},{key:"build",value:function(){if(this.sized&&!this.ready){var t=this.element,e=this.options,a=this.image,n=t.parentNode,i=document.createElement("div");i.innerHTML='
';var r=i.querySelector(".".concat("cropper","-container")),o=r.querySelector(".".concat("cropper","-canvas")),s=r.querySelector(".".concat("cropper","-drag-box")),h=r.querySelector(".".concat("cropper","-crop-box")),c=h.querySelector(".".concat("cropper","-face"));this.container=n,this.cropper=r,this.canvas=o,this.dragBox=s,this.cropBox=h,this.viewBox=r.querySelector(".".concat("cropper","-view-box")),this.face=c,o.appendChild(a),H(t,l),n.insertBefore(r,t.nextSibling),this.isImg||U(a,d),this.initPreview(),this.bind(),e.initialAspectRatio=Math.max(0,e.initialAspectRatio)||NaN,e.aspectRatio=Math.max(0,e.aspectRatio)||NaN,e.viewMode=Math.max(0,Math.min(3,Math.round(e.viewMode)))||0,H(h,l),e.guides||H(h.getElementsByClassName("".concat("cropper","-dashed")),l),e.center||H(h.getElementsByClassName("".concat("cropper","-center")),l),e.background&&H(r,"".concat("cropper","-bg")),e.highlight||H(c,m),e.cropBoxMovable&&(H(c,p),K(c,g,"all")),e.cropBoxResizable||(H(h.getElementsByClassName("".concat("cropper","-line")),l),H(h.getElementsByClassName("".concat("cropper","-point")),l)),this.render(),this.ready=!0,this.setDragMode(e.dragMode),e.autoCrop&&this.crop(),this.setData(e.data),S(e.ready)&&V(t,"ready",e.ready,{once:!0}),$(t,"ready")}}},{key:"unbuild",value:function(){this.ready&&(this.ready=!1,this.unbind(),this.resetPreview(),this.cropper.parentNode.removeChild(this.cropper),U(this.element,l))}},{key:"uncreate",value:function(){this.ready?(this.unbuild(),this.ready=!1,this.cropped=!1):this.sizing?(this.sizingImage.onload=null,this.sizing=!1,this.sized=!1):this.reloading?(this.xhr.onabort=null,this.xhr.abort()):this.image&&this.stop()}}])&&r(e.prototype,a),n&&r(e,n),t}();P(vt.prototype,ut,lt,dt,mt,ft,pt),e.a=vt},665:function(t,e,a){},680:function(t,e,a){"use strict";a.d(e,"a",(function(){return i}));var n={aa:{name:"Afar",nativeName:"Afaraf"},ab:{name:"Abkhaz",nativeName:"аҧсуа бызшәа"},ae:{name:"Avestan",nativeName:"avesta"},af:{name:"Afrikaans",nativeName:"Afrikaans"},ak:{name:"Akan",nativeName:"Akan"},am:{name:"Amharic",nativeName:"አማርኛ"},an:{name:"Aragonese",nativeName:"aragonés"},ar:{name:"Arabic",nativeName:"اللغة العربية"},as:{name:"Assamese",nativeName:"অসমীয়া"},av:{name:"Avaric",nativeName:"авар мацӀ"},ay:{name:"Aymara",nativeName:"aymar aru"},az:{name:"Azerbaijani",nativeName:"azərbaycan dili"},ba:{name:"Bashkir",nativeName:"башҡорт теле"},be:{name:"Belarusian",nativeName:"беларуская мова"},bg:{name:"Bulgarian",nativeName:"български език"},bh:{name:"Bihari",nativeName:"भोजपुरी"},bi:{name:"Bislama",nativeName:"Bislama"},bm:{name:"Bambara",nativeName:"bamanankan"},bn:{name:"Bengali",nativeName:"বাংলা"},bo:{name:"Tibetan Standard",nativeName:"བོད་ཡིག"},br:{name:"Breton",nativeName:"brezhoneg"},bs:{name:"Bosnian",nativeName:"bosanski jezik"},ca:{name:"Catalan",nativeName:"català"},ce:{name:"Chechen",nativeName:"нохчийн мотт"},ch:{name:"Chamorro",nativeName:"Chamoru"},co:{name:"Corsican",nativeName:"corsu"},cr:{name:"Cree",nativeName:"ᓀᐦᐃᔭᐍᐏᐣ"},cs:{name:"Czech",nativeName:"čeština"},cu:{name:"Old Church Slavonic",nativeName:"ѩзыкъ словѣньскъ"},cv:{name:"Chuvash",nativeName:"чӑваш чӗлхи"},cy:{name:"Welsh",nativeName:"Cymraeg"},da:{name:"Danish",nativeName:"dansk"},de:{name:"German",nativeName:"Deutsch"},dv:{name:"Divehi",nativeName:"Dhivehi"},dz:{name:"Dzongkha",nativeName:"རྫོང་ཁ"},ee:{name:"Ewe",nativeName:"Eʋegbe"},el:{name:"Greek",nativeName:"ελληνικά"},en:{name:"English",nativeName:"English"},eo:{name:"Esperanto",nativeName:"Esperanto"},es:{name:"Spanish",nativeName:"Español"},et:{name:"Estonian",nativeName:"eesti"},eu:{name:"Basque",nativeName:"euskara"},fa:{name:"Persian",nativeName:"فارسی"},ff:{name:"Fula",nativeName:"Fulfulde"},fi:{name:"Finnish",nativeName:"suomi"},fj:{name:"Fijian",nativeName:"Vakaviti"},fo:{name:"Faroese",nativeName:"føroyskt"},fr:{name:"French",nativeName:"Français"},fy:{name:"Western Frisian",nativeName:"Frysk"},ga:{name:"Irish",nativeName:"Gaeilge"},gd:{name:"Scottish Gaelic",nativeName:"Gàidhlig"},gl:{name:"Galician",nativeName:"galego"},gn:{name:"Guaraní",nativeName:"Avañe'ẽ"},gu:{name:"Gujarati",nativeName:"ગુજરાતી"},gv:{name:"Manx",nativeName:"Gaelg"},ha:{name:"Hausa",nativeName:"هَوُسَ"},he:{name:"Hebrew",nativeName:"עברית"},hi:{name:"Hindi",nativeName:"हिन्दी"},ho:{name:"Hiri Motu",nativeName:"Hiri Motu"},hr:{name:"Croatian",nativeName:"hrvatski jezik"},ht:{name:"Haitian",nativeName:"Kreyòl ayisyen"},hu:{name:"Hungarian",nativeName:"magyar"},hy:{name:"Armenian",nativeName:"Հայերեն"},hz:{name:"Herero",nativeName:"Otjiherero"},ia:{name:"Interlingua",nativeName:"Interlingua"},id:{name:"Indonesian",nativeName:"Indonesian"},ie:{name:"Interlingue",nativeName:"Interlingue"},ig:{name:"Igbo",nativeName:"Asụsụ Igbo"},ii:{name:"Nuosu",nativeName:"ꆈꌠ꒿ Nuosuhxop"},ik:{name:"Inupiaq",nativeName:"Iñupiaq"},io:{name:"Ido",nativeName:"Ido"},is:{name:"Icelandic",nativeName:"Íslenska"},it:{name:"Italian",nativeName:"Italiano"},iu:{name:"Inuktitut",nativeName:"ᐃᓄᒃᑎᑐᑦ"},ja:{name:"Japanese",nativeName:"日本語"},jv:{name:"Javanese",nativeName:"basa Jawa"},ka:{name:"Georgian",nativeName:"ქართული"},kg:{name:"Kongo",nativeName:"Kikongo"},ki:{name:"Kikuyu",nativeName:"Gĩkũyũ"},kj:{name:"Kwanyama",nativeName:"Kuanyama"},kk:{name:"Kazakh",nativeName:"қазақ тілі"},kl:{name:"Kalaallisut",nativeName:"kalaallisut"},km:{name:"Khmer",nativeName:"ខេមរភាសា"},kn:{name:"Kannada",nativeName:"ಕನ್ನಡ"},ko:{name:"Korean",nativeName:"한국어"},kr:{name:"Kanuri",nativeName:"Kanuri"},ks:{name:"Kashmiri",nativeName:"कश्मीरी"},ku:{name:"Kurdish",nativeName:"Kurdî"},kv:{name:"Komi",nativeName:"коми кыв"},kw:{name:"Cornish",nativeName:"Kernewek"},ky:{name:"Kyrgyz",nativeName:"Кыргызча"},la:{name:"Latin",nativeName:"latine"},lb:{name:"Luxembourgish",nativeName:"Lëtzebuergesch"},lg:{name:"Ganda",nativeName:"Luganda"},li:{name:"Limburgish",nativeName:"Limburgs"},ln:{name:"Lingala",nativeName:"Lingála"},lo:{name:"Lao",nativeName:"ພາສາ"},lt:{name:"Lithuanian",nativeName:"lietuvių kalba"},lu:{name:"Luba-Katanga",nativeName:"Tshiluba"},lv:{name:"Latvian",nativeName:"latviešu valoda"},mg:{name:"Malagasy",nativeName:"fiteny malagasy"},mh:{name:"Marshallese",nativeName:"Kajin M̧ajeļ"},mi:{name:"Māori",nativeName:"te reo Māori"},mk:{name:"Macedonian",nativeName:"македонски јазик"},ml:{name:"Malayalam",nativeName:"മലയാളം"},mn:{name:"Mongolian",nativeName:"Монгол хэл"},mr:{name:"Marathi",nativeName:"मराठी"},ms:{name:"Malay",nativeName:"هاس ملايو‎"},mt:{name:"Maltese",nativeName:"Malti"},my:{name:"Burmese",nativeName:"ဗမာစာ"},na:{name:"Nauru",nativeName:"Ekakairũ Naoero"},nb:{name:"Norwegian Bokmål",nativeName:"Norsk bokmål"},nd:{name:"Northern Ndebele",nativeName:"isiNdebele"},ne:{name:"Nepali",nativeName:"नेपाली"},ng:{name:"Ndonga",nativeName:"Owambo"},nl:{name:"Dutch",nativeName:"Nederlands"},nn:{name:"Norwegian Nynorsk",nativeName:"Norsk nynorsk"},no:{name:"Norwegian",nativeName:"Norsk"},nr:{name:"Southern Ndebele",nativeName:"isiNdebele"},nv:{name:"Navajo",nativeName:"Diné bizaad"},ny:{name:"Chichewa",nativeName:"chiCheŵa"},oc:{name:"Occitan",nativeName:"occitan"},oj:{name:"Ojibwe",nativeName:"ᐊᓂᔑᓈᐯᒧᐎᓐ"},om:{name:"Oromo",nativeName:"Afaan Oromoo"},or:{name:"Oriya",nativeName:"ଓଡ଼ିଆ"},os:{name:"Ossetian",nativeName:"ирон æвзаг"},pa:{name:"Panjabi",nativeName:"ਪੰਜਾਬੀ"},pi:{name:"Pāli",nativeName:"पाऴि"},pl:{name:"Polish",nativeName:"język polski"},ps:{name:"Pashto",nativeName:"پښتو"},pt:{name:"Portuguese",nativeName:"Português"},qu:{name:"Quechua",nativeName:"Runa Simi"},rm:{name:"Romansh",nativeName:"rumantsch grischun"},rn:{name:"Kirundi",nativeName:"Ikirundi"},ro:{name:"Romanian",nativeName:"limba română"},ru:{name:"Russian",nativeName:"Русский"},rw:{name:"Kinyarwanda",nativeName:"Ikinyarwanda"},sa:{name:"Sanskrit",nativeName:"संस्कृतम्"},sc:{name:"Sardinian",nativeName:"sardu"},sd:{name:"Sindhi",nativeName:"सिन्धी"},se:{name:"Northern Sami",nativeName:"Davvisámegiella"},sg:{name:"Sango",nativeName:"yângâ tî sängö"},si:{name:"Sinhala",nativeName:"සිංහල"},sk:{name:"Slovak",nativeName:"slovenčina"},sl:{name:"Slovene",nativeName:"slovenski jezik"},sm:{name:"Samoan",nativeName:"gagana fa'a Samoa"},sn:{name:"Shona",nativeName:"chiShona"},so:{name:"Somali",nativeName:"Soomaaliga"},sq:{name:"Albanian",nativeName:"Shqip"},sr:{name:"Serbian",nativeName:"српски језик"},ss:{name:"Swati",nativeName:"SiSwati"},st:{name:"Southern Sotho",nativeName:"Sesotho"},su:{name:"Sundanese",nativeName:"Basa Sunda"},sv:{name:"Swedish",nativeName:"svenska"},sw:{name:"Swahili",nativeName:"Kiswahili"},ta:{name:"Tamil",nativeName:"தமிழ்"},te:{name:"Telugu",nativeName:"తెలుగు"},tg:{name:"Tajik",nativeName:"тоҷикӣ"},th:{name:"Thai",nativeName:"ไทย"},ti:{name:"Tigrinya",nativeName:"ትግርኛ"},tk:{name:"Turkmen",nativeName:"Türkmen"},tl:{name:"Tagalog",nativeName:"Wikang Tagalog"},tn:{name:"Tswana",nativeName:"Setswana"},to:{name:"Tonga",nativeName:"faka Tonga"},tr:{name:"Turkish",nativeName:"Türkçe"},ts:{name:"Tsonga",nativeName:"Xitsonga"},tt:{name:"Tatar",nativeName:"татар теле"},tw:{name:"Twi",nativeName:"Twi"},ty:{name:"Tahitian",nativeName:"Reo Tahiti"},ug:{name:"Uyghur",nativeName:"ئۇيغۇرچە‎"},uk:{name:"Ukrainian",nativeName:"Українська"},ur:{name:"Urdu",nativeName:"اردو"},uz:{name:"Uzbek",nativeName:"Ўзбек"},ve:{name:"Venda",nativeName:"Tshivenḓa"},vi:{name:"Vietnamese",nativeName:"Tiếng Việt"},vo:{name:"Volapük",nativeName:"Volapük"},wa:{name:"Walloon",nativeName:"walon"},wo:{name:"Wolof",nativeName:"Wollof"},xh:{name:"Xhosa",nativeName:"isiXhosa"},yi:{name:"Yiddish",nativeName:"ייִדיש"},yo:{name:"Yoruba",nativeName:"Yorùbá"},za:{name:"Zhuang",nativeName:"Saɯ cueŋƅ"},zh:{name:"Chinese",nativeName:"中文"},zu:{name:"Zulu",nativeName:"isiZulu"}};class i{static getLanguages(t=[]){return t.map(t=>({code:t,name:i.getName(t),nativeName:i.getNativeName(t)}))}static getName(t){return i.validate(t)?n[t].name:""}static getAllNames(){return Object.values(n).map(t=>t.name)}static getNativeName(t){return i.validate(t)?n[t].nativeName:""}static getAllNativeNames(){return Object.values(n).map(t=>t.nativeName)}static getCode(t){return Object.keys(n).find(e=>{const a=n[e];return a.name.toLowerCase()===t.toLowerCase()||a.nativeName.toLowerCase()===t.toLowerCase()})||""}static getAllCodes(){return Object.keys(n)}static validate(t){return void 0!==n[t]}}}}]); +//# sourceMappingURL=3.bde677e65143f0cd1105.js.map \ No newline at end of file diff --git a/priv/static/static/js/3.6c8e014d70907359ad5a.js.map b/priv/static/static/js/3.bde677e65143f0cd1105.js.map similarity index 99% rename from priv/static/static/js/3.6c8e014d70907359ad5a.js.map rename to priv/static/static/js/3.bde677e65143f0cd1105.js.map index 81ea16cd3..06d4fc3d0 100644 --- a/priv/static/static/js/3.6c8e014d70907359ad5a.js.map +++ b/priv/static/static/js/3.bde677e65143f0cd1105.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///./node_modules/@babel/runtime/helpers/toArray.js","webpack:///./node_modules/lodash/trim.js","webpack:///./node_modules/lodash/_charsEndIndex.js","webpack:///./node_modules/lodash/_charsStartIndex.js","webpack:///./node_modules/@chenfengyuan/vue-qrcode/dist/vue-qrcode.esm.js","webpack:///./node_modules/cropperjs/dist/cropper.esm.js","webpack:///./node_modules/iso-639-1/src/data.js","webpack:///./node_modules/iso-639-1/src/index.js"],"names":["arrayWithHoles","iterableToArray","nonIterableRest","module","exports","arr","baseToString","castSlice","charsEndIndex","charsStartIndex","stringToArray","toString","reTrim","string","chars","guard","undefined","replace","strSymbols","chrSymbols","start","end","join","baseIndexOf","index","length","commonjsGlobal","window","global","self","commonjsRequire","Error","qrcode","fn","createCommonjsModule","r","e","n","t","o","i","f","u","a","code","p","call","1","require","getSymbolSize","getRowColCoords","version","posCount","Math","floor","size","intervals","ceil","positions","push","reverse","getPositions","coords","pos","posLength","j","2","Mode","ALPHA_NUM_CHARS","AlphanumericData","data","this","mode","ALPHANUMERIC","getBitsLength","prototype","getLength","write","bitBuffer","value","indexOf","put","3","BitBuffer","buffer","get","bufIndex","num","putBit","getLengthInBits","bit","4","Buffer","BitMatrix","fill","reservedBit","set","row","col","reserved","xor","isReserved","5","ByteData","BYTE","l","6","ECLevel","EC_BLOCKS_TABLE","EC_CODEWORDS_TABLE","getBlocksCount","errorCorrectionLevel","L","M","Q","H","getTotalCodewordsCount","7","isValid","level","from","defaultValue","toLowerCase","fromString","8","9","Utils","G15_BCH","getBCHDigit","getEncodedBits","mask","d","10","EXP_TABLE","LOG_TABLE","x","log","exp","mul","y","11","KanjiData","KANJI","toSJIS","12","Patterns","PATTERN000","PATTERN001","PATTERN010","PATTERN011","PATTERN100","PATTERN101","PATTERN110","PATTERN111","PenaltyScores","getMaskAt","maskPattern","isNaN","parseInt","getPenaltyN1","points","sameCountCol","sameCountRow","lastCol","lastRow","getPenaltyN2","last","getPenaltyN3","bitsCol","bitsRow","getPenaltyN4","darkCount","modulesCount","abs","applyMask","pattern","getBestMask","setupFormatFunc","numPatterns","Object","keys","bestPattern","lowerPenalty","Infinity","penalty","13","VersionCheck","Regex","NUMERIC","id","ccBits","MIXED","getCharCountIndicator","getBestModeForData","dataStr","testNumeric","testAlphanumeric","testKanji","14","NumericData","group","substr","remainingNum","15","GF","p1","p2","coeff","mod","divident","divisor","result","offset","slice","generateECPolynomial","degree","poly","16","AlignmentPattern","FinderPattern","MaskPattern","ECCode","ReedSolomonEncoder","Version","FormatInfo","Segments","isArray","setupFormatInfo","matrix","bits","createData","segments","forEach","dataTotalCodewordsBits","getSymbolTotalCodewords","remainingByte","totalCodewords","ecTotalCodewords","dataTotalCodewords","ecTotalBlocks","blocksInGroup1","totalCodewordsInGroup1","dataCodewordsInGroup1","dataCodewordsInGroup2","ecCount","rs","dcData","Array","ecData","maxDataSize","b","dataSize","encode","max","createCodewords","createSymbol","fromArray","estimatedVersion","rawSegments","rawSplit","getBestVersionForData","bestVersion","dataBits","moduleCount","modules","c","setupFinderPattern","setupTimingPattern","setupAlignmentPattern","setupVersionInfo","inc","bitIndex","byteIndex","dark","setupData","bind","create","options","toSJISFunc","setToSJISFunction","17","Polynomial","genPoly","initialize","pad","paddedData","concat","remainder","buff","copy","18","kanji","byte","RegExp","BYTE_KANJI","TEST_KANJI","TEST_NUMERIC","TEST_ALPHANUMERIC","str","test","19","dijkstra","getStringByteLength","unescape","encodeURIComponent","getSegments","regex","exec","getSegmentsFromString","byteSegs","kanjiSegs","numSegs","alphaNumSegs","isKanjiModeEnabled","sort","s1","s2","map","obj","getSegmentBitsLength","buildSingleSegment","modesHint","bestMode","array","reduce","acc","seg","graph","nodes","table","prevNodeIds","nodeGroup","currentNodeIds","node","key","lastCount","prevNodeId","buildGraph","segs","buildNodes","path","find_path","optimizedSegs","curr","prevSeg","mergeSegments","20","toSJISFunction","CODEWORDS_COUNT","digit","21","22","G18_BCH","getReservedBitsCount","getTotalBitsFromDataArray","totalBits","reservedBits","getCapacity","usableBits","ecl","currentVersion","getBestVersionForMixedData","getBestVersionForDataLength","23","canPromise","QRCode","CanvasRenderer","SvgRenderer","renderCanvas","renderFunc","canvas","text","opts","cb","args","arguments","argsNum","isLastArgCb","getContext","Promise","resolve","reject","toCanvas","render","toDataURL","renderToDataURL","_","24","qrData","canvasEl","document","createElement","getCanvasElement","getOptions","getImageWidth","ctx","image","createImageData","qrToImageData","clearRect","width","height","style","clearCanvas","putImageData","type","rendererOpts","quality","25","getColorAttrib","color","attrib","alpha","hex","toFixed","svgCmd","cmd","qrcodesize","margin","bg","light","moveBy","newRow","lineLength","qrToPath","viewBox","svgTag","26","hex2rgba","hexCode","split","apply","hexValue","g","scale","getScale","qrSize","imgData","qr","symbolSize","scaledMargin","palette","posDst","pxColor","27","TYPED_ARRAY_SUPPORT","Uint8Array","__proto__","foo","typedArraySupport","K_MAX_LENGTH","arg","allocUnsafe","that","TypeError","ArrayBuffer","byteOffset","byteLength","RangeError","buf","fromArrayLike","fromArrayBuffer","createBuffer","actual","isBuffer","len","checked","val","fromObject","utf8ToBytes","units","codePoint","leadSurrogate","bytes","charCodeAt","isView","Symbol","species","defineProperty","configurable","enumerable","writable","isFinite","remaining","src","dst","blitBuffer","utf8Write","newBuf","subarray","sliceLen","target","targetStart","list","_isBuffer","28","G","then","29","single_source_shortest_paths","s","predecessors","costs","closest","v","cost_of_s_to_u","adjacent_nodes","cost_of_s_to_u_plus_cost_of_e","cost_of_s_to_v","open","PriorityQueue","make","empty","pop","cost","hasOwnProperty","msg","extract_shortest_path_from_predecessor_list","T","queue","sorter","default_sorter","item","shift","30","31","name","props","tag","String","default","$slots","watch","$props","deep","immediate","handler","$el","generate","methods","_this","error","url","innerHTML","mounted","_typeof","iterator","constructor","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_toConsumableArray","arr2","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","IN_BROWSER","WINDOW","CLASS_CROP","CLASS_DISABLED","CLASS_HIDDEN","CLASS_HIDE","CLASS_INVISIBLE","CLASS_MODAL","CLASS_MOVE","DATA_ACTION","DATA_PREVIEW","EVENT_POINTER_DOWN","PointerEvent","EVENT_POINTER_MOVE","EVENT_POINTER_UP","REGEXP_ACTIONS","REGEXP_DATA_URL","REGEXP_DATA_URL_JPEG","REGEXP_TAG_NAME","DEFAULTS","viewMode","dragMode","initialAspectRatio","NaN","aspectRatio","preview","responsive","restore","checkCrossOrigin","checkOrientation","modal","guides","center","highlight","background","autoCrop","autoCropArea","movable","rotatable","scalable","zoomable","zoomOnTouch","zoomOnWheel","wheelZoomRatio","cropBoxMovable","cropBoxResizable","toggleDragModeOnDblclick","minCanvasWidth","minCanvasHeight","minCropBoxWidth","minCropBoxHeight","minContainerWidth","minContainerHeight","ready","cropstart","cropmove","cropend","crop","zoom","Number","isNumber","isUndefined","isObject","isPlainObject","_constructor","isFunction","callback","assign","_len","_key","REGEXP_DECIMALS","normalizeDecimalNumber","times","round","REGEXP_SUFFIX","setStyle","element","styles","property","addClass","elem","classList","add","className","trim","removeClass","remove","toggleClass","added","REGEXP_HYPHENATE","hyphenate","getData","dataset","getAttribute","setData","setAttribute","REGEXP_SPACES","onceSupported","supported","once","listener","addEventListener","removeEventListener","removeListener","event","listeners","addListener","_handler","_element$listeners","_len2","_key2","dispatchEvent","Event","CustomEvent","detail","bubbles","cancelable","createEvent","initCustomEvent","getOffset","box","getBoundingClientRect","left","pageXOffset","documentElement","clientLeft","top","pageYOffset","clientTop","location","REGEXP_ORIGINS","isCrossOriginURL","parts","match","protocol","hostname","port","addTimestamp","timestamp","Date","getTime","getTransforms","_ref","rotate","scaleX","scaleY","translateX","translateY","values","transform","WebkitTransform","msTransform","getPointer","_ref2","endOnly","pageX","pageY","endX","endY","startX","startY","getAdjustedSizes","_ref4","isValidNumber","adjustedWidth","getSourceCanvas","_ref6","_ref7","_ref8","imageAspectRatio","imageNaturalWidth","naturalWidth","imageNaturalHeight","naturalHeight","_ref6$rotate","_ref6$scaleX","_ref6$scaleY","_ref8$fillColor","fillColor","_ref8$imageSmoothingE","imageSmoothingEnabled","_ref8$imageSmoothingQ","imageSmoothingQuality","_ref8$maxWidth","maxWidth","_ref8$maxHeight","maxHeight","_ref8$minWidth","minWidth","_ref8$minHeight","minHeight","context","maxSizes","minSizes","min","destMaxSizes","destMinSizes","destWidth","destHeight","params","fillStyle","fillRect","save","translate","PI","drawImage","param","fromCharCode","REGEXP_DATA_URL_HEAD","resetAndGetOrientation","arrayBuffer","orientation","dataView","DataView","littleEndian","app1Start","ifdStart","getUint8","tiffOffset","getStringFromCharCode","endianness","getUint16","firstIFDOffset","getUint32","_offset","_length","setUint16","initContainer","initCanvas","initCropBox","cropped","renderCropBox","container","cropper","containerData","offsetWidth","offsetHeight","imageData","rotated","canvasWidth","canvasHeight","canvasData","oldLeft","oldTop","limited","limitCanvas","initialImageData","initialCanvasData","sizeLimited","positionLimited","cropBoxData","_getAdjustedSizes","newCanvasLeft","newCanvasTop","minLeft","minTop","maxLeft","maxTop","changed","transformed","_getRotatedSizes","_ref5","arc","sinArc","sin","cosArc","cos","newWidth","newHeight","getRotatedSizes","renderImage","limitCropBox","output","initialCropBoxData","maxCropBoxWidth","maxCropBoxHeight","face","cropBox","disabled","initPreview","crossOrigin","crossOriginUrl","appendChild","viewBoxImage","previews","ownerDocument","querySelectorAll","querySelector","el","img","html","cssText","resetPreview","removeAttribute","removeData","cropBoxWidth","cropBoxHeight","originalWidth","originalHeight","ratio","getElementsByTagName","events","onCropStart","cropStart","onWheel","wheel","onDblclick","dblclick","onCropMove","cropMove","onCropEnd","cropEnd","onResize","resize","unbind","handlers","getCanvasData","getCropBoxData","setCanvasData","setCropBoxData","setDragMode","dragBox","contains","delta","preventDefault","wheeling","setTimeout","deltaY","wheelDelta","action","pointers","changedTouches","touch","identifier","pointerId","originalEvent","cropping","change","right","bottom","renderable","shiftKey","pointer","range","check","side","move","pointers2","ratios","pointer2","x1","y1","x2","y2","z1","sqrt","getMaxZoomRatio","reset","clear","hasSameSize","isImg","replaced","uncreate","load","enable","disable","destroy","originalUrl","offsetX","offsetY","_this$canvasData","moveTo","_originalEvent","zoomTo","pivot","oldRatio","count","_ref3","getPointersCenter","rotateTo","_scaleX","_scaleY","rounded","getContainerData","getImageData","sized","widthChanged","heightChanged","getCroppedCanvas","HTMLCanvasElement","source","_this$getData","initialX","initialY","initialWidth","initialHeight","_options$imageSmoothi","srcWidth","srcHeight","dstX","dstY","dstWidth","dstHeight","sourceWidth","sourceHeight","srcX","srcY","setAspectRatio","croppable","AnotherCropper","Cropper","tagName","reloading","sizing","init","protoProps","staticProps","read","base64","binary","atob","uint8","clone","xhr","XMLHttpRequest","ontimeout","onabort","onerror","onprogress","getResponseHeader","abort","onload","response","onloadend","responseType","withCredentials","send","mimeType","chunks","btoa","arrayBufferToDataURL","_parseOrientation","parseOrientation","stop","parentNode","insertBefore","nextSibling","_this2","IS_SAFARI","navigator","userAgent","done","build","sizingImage","body","removeChild","template","getElementsByClassName","unbuild","aa","nativeName","ab","ae","af","ak","am","an","ar","as","av","ay","az","ba","be","bh","bi","bm","bn","bo","br","bs","ca","ce","ch","co","cr","cs","cu","cv","cy","da","de","dv","dz","ee","en","eo","es","et","eu","fa","ff","fi","fj","fo","fr","fy","ga","gd","gl","gn","gu","gv","ha","he","hi","ho","hr","ht","hu","hy","hz","ia","ie","ig","ii","ik","io","is","it","iu","ja","jv","ka","kg","ki","kj","kk","kl","km","kn","ko","kr","ks","ku","kv","kw","ky","la","lb","lg","li","ln","lo","lt","lu","lv","mg","mh","mi","mk","ml","mn","mr","ms","mt","my","na","nb","nd","ne","ng","nl","nn","no","nr","nv","ny","oc","oj","om","or","os","pa","pi","pl","ps","pt","qu","rm","rn","ro","ru","rw","sa","sc","sd","se","sg","si","sk","sl","sm","sn","so","sq","sr","ss","st","su","sv","sw","ta","te","tg","th","ti","tk","tl","tn","to","tr","ts","tt","tw","ty","ug","uk","ur","uz","ve","vi","vo","wa","wo","xh","yi","yo","za","zh","zu","codes","getName","getNativeName","validate","find","language"],"mappings":"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","file":"static/js/3.6c8e014d70907359ad5a.js","sourcesContent":["var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || nonIterableRest();\n}\n\nmodule.exports = _toArray;","var baseToString = require('./_baseToString'),\n castSlice = require('./_castSlice'),\n charsEndIndex = require('./_charsEndIndex'),\n charsStartIndex = require('./_charsStartIndex'),\n stringToArray = require('./_stringToArray'),\n toString = require('./toString');\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/**\n * Removes leading and trailing whitespace or specified characters from `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to trim.\n * @param {string} [chars=whitespace] The characters to trim.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the trimmed string.\n * @example\n *\n * _.trim(' abc ');\n * // => 'abc'\n *\n * _.trim('-_-abc-_-', '_-');\n * // => 'abc'\n *\n * _.map([' foo ', ' bar '], _.trim);\n * // => ['foo', 'bar']\n */\nfunction trim(string, chars, guard) {\n string = toString(string);\n if (string && (guard || chars === undefined)) {\n return string.replace(reTrim, '');\n }\n if (!string || !(chars = baseToString(chars))) {\n return string;\n }\n var strSymbols = stringToArray(string),\n chrSymbols = stringToArray(chars),\n start = charsStartIndex(strSymbols, chrSymbols),\n end = charsEndIndex(strSymbols, chrSymbols) + 1;\n\n return castSlice(strSymbols, start, end).join('');\n}\n\nmodule.exports = trim;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the last unmatched string symbol.\n */\nfunction charsEndIndex(strSymbols, chrSymbols) {\n var index = strSymbols.length;\n\n while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n}\n\nmodule.exports = charsEndIndex;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the first unmatched string symbol.\n */\nfunction charsStartIndex(strSymbols, chrSymbols) {\n var index = -1,\n length = strSymbols.length;\n\n while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n}\n\nmodule.exports = charsStartIndex;\n","/*!\n * vue-qrcode v1.0.0\n * https://fengyuanchen.github.io/vue-qrcode\n *\n * Copyright 2018-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2018-10-21T13:04:02.951Z\n */\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction commonjsRequire () {\n\tthrow new Error('Dynamic requires are not currently supported by rollup-plugin-commonjs');\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar qrcode = createCommonjsModule(function (module, exports) {\n(function(f){{module.exports=f();}})(function(){return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof commonjsRequire&&commonjsRequire;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t);}return n[i].exports}for(var u=\"function\"==typeof commonjsRequire&&commonjsRequire,i=0;i>> (7 - index % 8)) & 1) === 1\n },\n\n put: function (num, length) {\n for (var i = 0; i < length; i++) {\n this.putBit(((num >>> (length - i - 1)) & 1) === 1);\n }\n },\n\n getLengthInBits: function () {\n return this.length\n },\n\n putBit: function (bit) {\n var bufIndex = Math.floor(this.length / 8);\n if (this.buffer.length <= bufIndex) {\n this.buffer.push(0);\n }\n\n if (bit) {\n this.buffer[bufIndex] |= (0x80 >>> (this.length % 8));\n }\n\n this.length++;\n }\n};\n\nmodule.exports = BitBuffer;\n\n},{}],4:[function(require,module,exports){\nvar Buffer = require('../utils/buffer');\n\n/**\n * Helper class to handle QR Code symbol modules\n *\n * @param {Number} size Symbol size\n */\nfunction BitMatrix (size) {\n if (!size || size < 1) {\n throw new Error('BitMatrix size must be defined and greater than 0')\n }\n\n this.size = size;\n this.data = new Buffer(size * size);\n this.data.fill(0);\n this.reservedBit = new Buffer(size * size);\n this.reservedBit.fill(0);\n}\n\n/**\n * Set bit value at specified location\n * If reserved flag is set, this bit will be ignored during masking process\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n * @param {Boolean} reserved\n */\nBitMatrix.prototype.set = function (row, col, value, reserved) {\n var index = row * this.size + col;\n this.data[index] = value;\n if (reserved) this.reservedBit[index] = true;\n};\n\n/**\n * Returns bit value at specified location\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.get = function (row, col) {\n return this.data[row * this.size + col]\n};\n\n/**\n * Applies xor operator at specified location\n * (used during masking process)\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n */\nBitMatrix.prototype.xor = function (row, col, value) {\n this.data[row * this.size + col] ^= value;\n};\n\n/**\n * Check if bit at specified location is reserved\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.isReserved = function (row, col) {\n return this.reservedBit[row * this.size + col]\n};\n\nmodule.exports = BitMatrix;\n\n},{\"../utils/buffer\":27}],5:[function(require,module,exports){\nvar Buffer = require('../utils/buffer');\nvar Mode = require('./mode');\n\nfunction ByteData (data) {\n this.mode = Mode.BYTE;\n this.data = new Buffer(data);\n}\n\nByteData.getBitsLength = function getBitsLength (length) {\n return length * 8\n};\n\nByteData.prototype.getLength = function getLength () {\n return this.data.length\n};\n\nByteData.prototype.getBitsLength = function getBitsLength () {\n return ByteData.getBitsLength(this.data.length)\n};\n\nByteData.prototype.write = function (bitBuffer) {\n for (var i = 0, l = this.data.length; i < l; i++) {\n bitBuffer.put(this.data[i], 8);\n }\n};\n\nmodule.exports = ByteData;\n\n},{\"../utils/buffer\":27,\"./mode\":13}],6:[function(require,module,exports){\nvar ECLevel = require('./error-correction-level');\r\n\r\nvar EC_BLOCKS_TABLE = [\r\n// L M Q H\r\n 1, 1, 1, 1,\r\n 1, 1, 1, 1,\r\n 1, 1, 2, 2,\r\n 1, 2, 2, 4,\r\n 1, 2, 4, 4,\r\n 2, 4, 4, 4,\r\n 2, 4, 6, 5,\r\n 2, 4, 6, 6,\r\n 2, 5, 8, 8,\r\n 4, 5, 8, 8,\r\n 4, 5, 8, 11,\r\n 4, 8, 10, 11,\r\n 4, 9, 12, 16,\r\n 4, 9, 16, 16,\r\n 6, 10, 12, 18,\r\n 6, 10, 17, 16,\r\n 6, 11, 16, 19,\r\n 6, 13, 18, 21,\r\n 7, 14, 21, 25,\r\n 8, 16, 20, 25,\r\n 8, 17, 23, 25,\r\n 9, 17, 23, 34,\r\n 9, 18, 25, 30,\r\n 10, 20, 27, 32,\r\n 12, 21, 29, 35,\r\n 12, 23, 34, 37,\r\n 12, 25, 34, 40,\r\n 13, 26, 35, 42,\r\n 14, 28, 38, 45,\r\n 15, 29, 40, 48,\r\n 16, 31, 43, 51,\r\n 17, 33, 45, 54,\r\n 18, 35, 48, 57,\r\n 19, 37, 51, 60,\r\n 19, 38, 53, 63,\r\n 20, 40, 56, 66,\r\n 21, 43, 59, 70,\r\n 22, 45, 62, 74,\r\n 24, 47, 65, 77,\r\n 25, 49, 68, 81\r\n];\r\n\r\nvar EC_CODEWORDS_TABLE = [\r\n// L M Q H\r\n 7, 10, 13, 17,\r\n 10, 16, 22, 28,\r\n 15, 26, 36, 44,\r\n 20, 36, 52, 64,\r\n 26, 48, 72, 88,\r\n 36, 64, 96, 112,\r\n 40, 72, 108, 130,\r\n 48, 88, 132, 156,\r\n 60, 110, 160, 192,\r\n 72, 130, 192, 224,\r\n 80, 150, 224, 264,\r\n 96, 176, 260, 308,\r\n 104, 198, 288, 352,\r\n 120, 216, 320, 384,\r\n 132, 240, 360, 432,\r\n 144, 280, 408, 480,\r\n 168, 308, 448, 532,\r\n 180, 338, 504, 588,\r\n 196, 364, 546, 650,\r\n 224, 416, 600, 700,\r\n 224, 442, 644, 750,\r\n 252, 476, 690, 816,\r\n 270, 504, 750, 900,\r\n 300, 560, 810, 960,\r\n 312, 588, 870, 1050,\r\n 336, 644, 952, 1110,\r\n 360, 700, 1020, 1200,\r\n 390, 728, 1050, 1260,\r\n 420, 784, 1140, 1350,\r\n 450, 812, 1200, 1440,\r\n 480, 868, 1290, 1530,\r\n 510, 924, 1350, 1620,\r\n 540, 980, 1440, 1710,\r\n 570, 1036, 1530, 1800,\r\n 570, 1064, 1590, 1890,\r\n 600, 1120, 1680, 1980,\r\n 630, 1204, 1770, 2100,\r\n 660, 1260, 1860, 2220,\r\n 720, 1316, 1950, 2310,\r\n 750, 1372, 2040, 2430\r\n];\r\n\r\n/**\r\n * Returns the number of error correction block that the QR Code should contain\r\n * for the specified version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction blocks\r\n */\r\nexports.getBlocksCount = function getBlocksCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n};\r\n\r\n/**\r\n * Returns the number of error correction codewords to use for the specified\r\n * version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction codewords\r\n */\r\nexports.getTotalCodewordsCount = function getTotalCodewordsCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n};\r\n\n},{\"./error-correction-level\":7}],7:[function(require,module,exports){\nexports.L = { bit: 1 };\nexports.M = { bit: 0 };\nexports.Q = { bit: 3 };\nexports.H = { bit: 2 };\n\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n var lcStr = string.toLowerCase();\n\n switch (lcStr) {\n case 'l':\n case 'low':\n return exports.L\n\n case 'm':\n case 'medium':\n return exports.M\n\n case 'q':\n case 'quartile':\n return exports.Q\n\n case 'h':\n case 'high':\n return exports.H\n\n default:\n throw new Error('Unknown EC Level: ' + string)\n }\n}\n\nexports.isValid = function isValid (level) {\n return level && typeof level.bit !== 'undefined' &&\n level.bit >= 0 && level.bit < 4\n};\n\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n};\n\n},{}],8:[function(require,module,exports){\nvar getSymbolSize = require('./utils').getSymbolSize;\nvar FINDER_PATTERN_SIZE = 7;\n\n/**\n * Returns an array containing the positions of each finder pattern.\n * Each array's element represent the top-left point of the pattern as (x, y) coordinates\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n var size = getSymbolSize(version);\n\n return [\n // top-left\n [0, 0],\n // top-right\n [size - FINDER_PATTERN_SIZE, 0],\n // bottom-left\n [0, size - FINDER_PATTERN_SIZE]\n ]\n};\n\n},{\"./utils\":20}],9:[function(require,module,exports){\nvar Utils = require('./utils');\n\nvar G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0);\nvar G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1);\nvar G15_BCH = Utils.getBCHDigit(G15);\n\n/**\n * Returns format information with relative error correction bits\n *\n * The format information is a 15-bit sequence containing 5 data bits,\n * with 10 error correction bits calculated using the (15, 5) BCH code.\n *\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Number} mask Mask pattern\n * @return {Number} Encoded format information bits\n */\nexports.getEncodedBits = function getEncodedBits (errorCorrectionLevel, mask) {\n var data = ((errorCorrectionLevel.bit << 3) | mask);\n var d = data << 10;\n\n while (Utils.getBCHDigit(d) - G15_BCH >= 0) {\n d ^= (G15 << (Utils.getBCHDigit(d) - G15_BCH));\n }\n\n // xor final data with mask pattern in order to ensure that\n // no combination of Error Correction Level and data mask pattern\n // will result in an all-zero data string\n return ((data << 10) | d) ^ G15_MASK\n};\n\n},{\"./utils\":20}],10:[function(require,module,exports){\nvar Buffer = require('../utils/buffer');\n\nvar EXP_TABLE = new Buffer(512);\nvar LOG_TABLE = new Buffer(256)\n\n/**\n * Precompute the log and anti-log tables for faster computation later\n *\n * For each possible value in the galois field 2^8, we will pre-compute\n * the logarithm and anti-logarithm (exponential) of this value\n *\n * ref {@link https://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders#Introduction_to_mathematical_fields}\n */\n;(function initTables () {\n var x = 1;\n for (var i = 0; i < 255; i++) {\n EXP_TABLE[i] = x;\n LOG_TABLE[x] = i;\n\n x <<= 1; // multiply by 2\n\n // The QR code specification says to use byte-wise modulo 100011101 arithmetic.\n // This means that when a number is 256 or larger, it should be XORed with 0x11D.\n if (x & 0x100) { // similar to x >= 256, but a lot faster (because 0x100 == 256)\n x ^= 0x11D;\n }\n }\n\n // Optimization: double the size of the anti-log table so that we don't need to mod 255 to\n // stay inside the bounds (because we will mainly use this table for the multiplication of\n // two GF numbers, no more).\n // @see {@link mul}\n for (i = 255; i < 512; i++) {\n EXP_TABLE[i] = EXP_TABLE[i - 255];\n }\n}());\n\n/**\n * Returns log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.log = function log (n) {\n if (n < 1) throw new Error('log(' + n + ')')\n return LOG_TABLE[n]\n};\n\n/**\n * Returns anti-log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.exp = function exp (n) {\n return EXP_TABLE[n]\n};\n\n/**\n * Multiplies two number inside Galois Field\n *\n * @param {Number} x\n * @param {Number} y\n * @return {Number}\n */\nexports.mul = function mul (x, y) {\n if (x === 0 || y === 0) return 0\n\n // should be EXP_TABLE[(LOG_TABLE[x] + LOG_TABLE[y]) % 255] if EXP_TABLE wasn't oversized\n // @see {@link initTables}\n return EXP_TABLE[LOG_TABLE[x] + LOG_TABLE[y]]\n};\n\n},{\"../utils/buffer\":27}],11:[function(require,module,exports){\nvar Mode = require('./mode');\nvar Utils = require('./utils');\n\nfunction KanjiData (data) {\n this.mode = Mode.KANJI;\n this.data = data;\n}\n\nKanjiData.getBitsLength = function getBitsLength (length) {\n return length * 13\n};\n\nKanjiData.prototype.getLength = function getLength () {\n return this.data.length\n};\n\nKanjiData.prototype.getBitsLength = function getBitsLength () {\n return KanjiData.getBitsLength(this.data.length)\n};\n\nKanjiData.prototype.write = function (bitBuffer) {\n var i;\n\n // In the Shift JIS system, Kanji characters are represented by a two byte combination.\n // These byte values are shifted from the JIS X 0208 values.\n // JIS X 0208 gives details of the shift coded representation.\n for (i = 0; i < this.data.length; i++) {\n var value = Utils.toSJIS(this.data[i]);\n\n // For characters with Shift JIS values from 0x8140 to 0x9FFC:\n if (value >= 0x8140 && value <= 0x9FFC) {\n // Subtract 0x8140 from Shift JIS value\n value -= 0x8140;\n\n // For characters with Shift JIS values from 0xE040 to 0xEBBF\n } else if (value >= 0xE040 && value <= 0xEBBF) {\n // Subtract 0xC140 from Shift JIS value\n value -= 0xC140;\n } else {\n throw new Error(\n 'Invalid SJIS character: ' + this.data[i] + '\\n' +\n 'Make sure your charset is UTF-8')\n }\n\n // Multiply most significant byte of result by 0xC0\n // and add least significant byte to product\n value = (((value >>> 8) & 0xff) * 0xC0) + (value & 0xff);\n\n // Convert result to a 13-bit binary string\n bitBuffer.put(value, 13);\n }\n};\n\nmodule.exports = KanjiData;\n\n},{\"./mode\":13,\"./utils\":20}],12:[function(require,module,exports){\n/**\n * Data mask pattern reference\n * @type {Object}\n */\nexports.Patterns = {\n PATTERN000: 0,\n PATTERN001: 1,\n PATTERN010: 2,\n PATTERN011: 3,\n PATTERN100: 4,\n PATTERN101: 5,\n PATTERN110: 6,\n PATTERN111: 7\n};\n\n/**\n * Weighted penalty scores for the undesirable features\n * @type {Object}\n */\nvar PenaltyScores = {\n N1: 3,\n N2: 3,\n N3: 40,\n N4: 10\n};\n\n/**\n * Check if mask pattern value is valid\n *\n * @param {Number} mask Mask pattern\n * @return {Boolean} true if valid, false otherwise\n */\nexports.isValid = function isValid (mask) {\n return mask != null && mask !== '' && !isNaN(mask) && mask >= 0 && mask <= 7\n};\n\n/**\n * Returns mask pattern from a value.\n * If value is not valid, returns undefined\n *\n * @param {Number|String} value Mask pattern value\n * @return {Number} Valid mask pattern or undefined\n */\nexports.from = function from (value) {\n return exports.isValid(value) ? parseInt(value, 10) : undefined\n};\n\n/**\n* Find adjacent modules in row/column with the same color\n* and assign a penalty value.\n*\n* Points: N1 + i\n* i is the amount by which the number of adjacent modules of the same color exceeds 5\n*/\nexports.getPenaltyN1 = function getPenaltyN1 (data) {\n var size = data.size;\n var points = 0;\n var sameCountCol = 0;\n var sameCountRow = 0;\n var lastCol = null;\n var lastRow = null;\n\n for (var row = 0; row < size; row++) {\n sameCountCol = sameCountRow = 0;\n lastCol = lastRow = null;\n\n for (var col = 0; col < size; col++) {\n var module = data.get(row, col);\n if (module === lastCol) {\n sameCountCol++;\n } else {\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5);\n lastCol = module;\n sameCountCol = 1;\n }\n\n module = data.get(col, row);\n if (module === lastRow) {\n sameCountRow++;\n } else {\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5);\n lastRow = module;\n sameCountRow = 1;\n }\n }\n\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5);\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5);\n }\n\n return points\n};\n\n/**\n * Find 2x2 blocks with the same color and assign a penalty value\n *\n * Points: N2 * (m - 1) * (n - 1)\n */\nexports.getPenaltyN2 = function getPenaltyN2 (data) {\n var size = data.size;\n var points = 0;\n\n for (var row = 0; row < size - 1; row++) {\n for (var col = 0; col < size - 1; col++) {\n var last = data.get(row, col) +\n data.get(row, col + 1) +\n data.get(row + 1, col) +\n data.get(row + 1, col + 1);\n\n if (last === 4 || last === 0) points++;\n }\n }\n\n return points * PenaltyScores.N2\n};\n\n/**\n * Find 1:1:3:1:1 ratio (dark:light:dark:light:dark) pattern in row/column,\n * preceded or followed by light area 4 modules wide\n *\n * Points: N3 * number of pattern found\n */\nexports.getPenaltyN3 = function getPenaltyN3 (data) {\n var size = data.size;\n var points = 0;\n var bitsCol = 0;\n var bitsRow = 0;\n\n for (var row = 0; row < size; row++) {\n bitsCol = bitsRow = 0;\n for (var col = 0; col < size; col++) {\n bitsCol = ((bitsCol << 1) & 0x7FF) | data.get(row, col);\n if (col >= 10 && (bitsCol === 0x5D0 || bitsCol === 0x05D)) points++;\n\n bitsRow = ((bitsRow << 1) & 0x7FF) | data.get(col, row);\n if (col >= 10 && (bitsRow === 0x5D0 || bitsRow === 0x05D)) points++;\n }\n }\n\n return points * PenaltyScores.N3\n};\n\n/**\n * Calculate proportion of dark modules in entire symbol\n *\n * Points: N4 * k\n *\n * k is the rating of the deviation of the proportion of dark modules\n * in the symbol from 50% in steps of 5%\n */\nexports.getPenaltyN4 = function getPenaltyN4 (data) {\n var darkCount = 0;\n var modulesCount = data.data.length;\n\n for (var i = 0; i < modulesCount; i++) darkCount += data.data[i];\n\n var k = Math.abs(Math.ceil((darkCount * 100 / modulesCount) / 5) - 10);\n\n return k * PenaltyScores.N4\n};\n\n/**\n * Return mask value at given position\n *\n * @param {Number} maskPattern Pattern reference value\n * @param {Number} i Row\n * @param {Number} j Column\n * @return {Boolean} Mask value\n */\nfunction getMaskAt (maskPattern, i, j) {\n switch (maskPattern) {\n case exports.Patterns.PATTERN000: return (i + j) % 2 === 0\n case exports.Patterns.PATTERN001: return i % 2 === 0\n case exports.Patterns.PATTERN010: return j % 3 === 0\n case exports.Patterns.PATTERN011: return (i + j) % 3 === 0\n case exports.Patterns.PATTERN100: return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 === 0\n case exports.Patterns.PATTERN101: return (i * j) % 2 + (i * j) % 3 === 0\n case exports.Patterns.PATTERN110: return ((i * j) % 2 + (i * j) % 3) % 2 === 0\n case exports.Patterns.PATTERN111: return ((i * j) % 3 + (i + j) % 2) % 2 === 0\n\n default: throw new Error('bad maskPattern:' + maskPattern)\n }\n}\n\n/**\n * Apply a mask pattern to a BitMatrix\n *\n * @param {Number} pattern Pattern reference number\n * @param {BitMatrix} data BitMatrix data\n */\nexports.applyMask = function applyMask (pattern, data) {\n var size = data.size;\n\n for (var col = 0; col < size; col++) {\n for (var row = 0; row < size; row++) {\n if (data.isReserved(row, col)) continue\n data.xor(row, col, getMaskAt(pattern, row, col));\n }\n }\n};\n\n/**\n * Returns the best mask pattern for data\n *\n * @param {BitMatrix} data\n * @return {Number} Mask pattern reference number\n */\nexports.getBestMask = function getBestMask (data, setupFormatFunc) {\n var numPatterns = Object.keys(exports.Patterns).length;\n var bestPattern = 0;\n var lowerPenalty = Infinity;\n\n for (var p = 0; p < numPatterns; p++) {\n setupFormatFunc(p);\n exports.applyMask(p, data);\n\n // Calculate penalty\n var penalty =\n exports.getPenaltyN1(data) +\n exports.getPenaltyN2(data) +\n exports.getPenaltyN3(data) +\n exports.getPenaltyN4(data);\n\n // Undo previously applied mask\n exports.applyMask(p, data);\n\n if (penalty < lowerPenalty) {\n lowerPenalty = penalty;\n bestPattern = p;\n }\n }\n\n return bestPattern\n};\n\n},{}],13:[function(require,module,exports){\nvar VersionCheck = require('./version-check');\nvar Regex = require('./regex');\n\n/**\n * Numeric mode encodes data from the decimal digit set (0 - 9)\n * (byte values 30HEX to 39HEX).\n * Normally, 3 data characters are represented by 10 bits.\n *\n * @type {Object}\n */\nexports.NUMERIC = {\n id: 'Numeric',\n bit: 1 << 0,\n ccBits: [10, 12, 14]\n};\n\n/**\n * Alphanumeric mode encodes data from a set of 45 characters,\n * i.e. 10 numeric digits (0 - 9),\n * 26 alphabetic characters (A - Z),\n * and 9 symbols (SP, $, %, *, +, -, ., /, :).\n * Normally, two input characters are represented by 11 bits.\n *\n * @type {Object}\n */\nexports.ALPHANUMERIC = {\n id: 'Alphanumeric',\n bit: 1 << 1,\n ccBits: [9, 11, 13]\n};\n\n/**\n * In byte mode, data is encoded at 8 bits per character.\n *\n * @type {Object}\n */\nexports.BYTE = {\n id: 'Byte',\n bit: 1 << 2,\n ccBits: [8, 16, 16]\n};\n\n/**\n * The Kanji mode efficiently encodes Kanji characters in accordance with\n * the Shift JIS system based on JIS X 0208.\n * The Shift JIS values are shifted from the JIS X 0208 values.\n * JIS X 0208 gives details of the shift coded representation.\n * Each two-byte character value is compacted to a 13-bit binary codeword.\n *\n * @type {Object}\n */\nexports.KANJI = {\n id: 'Kanji',\n bit: 1 << 3,\n ccBits: [8, 10, 12]\n};\n\n/**\n * Mixed mode will contain a sequences of data in a combination of any of\n * the modes described above\n *\n * @type {Object}\n */\nexports.MIXED = {\n bit: -1\n};\n\n/**\n * Returns the number of bits needed to store the data length\n * according to QR Code specifications.\n *\n * @param {Mode} mode Data mode\n * @param {Number} version QR Code version\n * @return {Number} Number of bits\n */\nexports.getCharCountIndicator = function getCharCountIndicator (mode, version) {\n if (!mode.ccBits) throw new Error('Invalid mode: ' + mode)\n\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid version: ' + version)\n }\n\n if (version >= 1 && version < 10) return mode.ccBits[0]\n else if (version < 27) return mode.ccBits[1]\n return mode.ccBits[2]\n};\n\n/**\n * Returns the most efficient mode to store the specified data\n *\n * @param {String} dataStr Input data string\n * @return {Mode} Best mode\n */\nexports.getBestModeForData = function getBestModeForData (dataStr) {\n if (Regex.testNumeric(dataStr)) return exports.NUMERIC\n else if (Regex.testAlphanumeric(dataStr)) return exports.ALPHANUMERIC\n else if (Regex.testKanji(dataStr)) return exports.KANJI\n else return exports.BYTE\n};\n\n/**\n * Return mode name as string\n *\n * @param {Mode} mode Mode object\n * @returns {String} Mode name\n */\nexports.toString = function toString (mode) {\n if (mode && mode.id) return mode.id\n throw new Error('Invalid mode')\n};\n\n/**\n * Check if input param is a valid mode object\n *\n * @param {Mode} mode Mode object\n * @returns {Boolean} True if valid mode, false otherwise\n */\nexports.isValid = function isValid (mode) {\n return mode && mode.bit && mode.ccBits\n};\n\n/**\n * Get mode object from its name\n *\n * @param {String} string Mode name\n * @returns {Mode} Mode object\n */\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n var lcStr = string.toLowerCase();\n\n switch (lcStr) {\n case 'numeric':\n return exports.NUMERIC\n case 'alphanumeric':\n return exports.ALPHANUMERIC\n case 'kanji':\n return exports.KANJI\n case 'byte':\n return exports.BYTE\n default:\n throw new Error('Unknown mode: ' + string)\n }\n}\n\n/**\n * Returns mode from a value.\n * If value is not a valid mode, returns defaultValue\n *\n * @param {Mode|String} value Encoding mode\n * @param {Mode} defaultValue Fallback value\n * @return {Mode} Encoding mode\n */\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n};\n\n},{\"./regex\":18,\"./version-check\":21}],14:[function(require,module,exports){\nvar Mode = require('./mode');\n\nfunction NumericData (data) {\n this.mode = Mode.NUMERIC;\n this.data = data.toString();\n}\n\nNumericData.getBitsLength = function getBitsLength (length) {\n return 10 * Math.floor(length / 3) + ((length % 3) ? ((length % 3) * 3 + 1) : 0)\n};\n\nNumericData.prototype.getLength = function getLength () {\n return this.data.length\n};\n\nNumericData.prototype.getBitsLength = function getBitsLength () {\n return NumericData.getBitsLength(this.data.length)\n};\n\nNumericData.prototype.write = function write (bitBuffer) {\n var i, group, value;\n\n // The input data string is divided into groups of three digits,\n // and each group is converted to its 10-bit binary equivalent.\n for (i = 0; i + 3 <= this.data.length; i += 3) {\n group = this.data.substr(i, 3);\n value = parseInt(group, 10);\n\n bitBuffer.put(value, 10);\n }\n\n // If the number of input digits is not an exact multiple of three,\n // the final one or two digits are converted to 4 or 7 bits respectively.\n var remainingNum = this.data.length - i;\n if (remainingNum > 0) {\n group = this.data.substr(i);\n value = parseInt(group, 10);\n\n bitBuffer.put(value, remainingNum * 3 + 1);\n }\n};\n\nmodule.exports = NumericData;\n\n},{\"./mode\":13}],15:[function(require,module,exports){\nvar Buffer = require('../utils/buffer');\nvar GF = require('./galois-field');\n\n/**\n * Multiplies two polynomials inside Galois Field\n *\n * @param {Buffer} p1 Polynomial\n * @param {Buffer} p2 Polynomial\n * @return {Buffer} Product of p1 and p2\n */\nexports.mul = function mul (p1, p2) {\n var coeff = new Buffer(p1.length + p2.length - 1);\n coeff.fill(0);\n\n for (var i = 0; i < p1.length; i++) {\n for (var j = 0; j < p2.length; j++) {\n coeff[i + j] ^= GF.mul(p1[i], p2[j]);\n }\n }\n\n return coeff\n};\n\n/**\n * Calculate the remainder of polynomials division\n *\n * @param {Buffer} divident Polynomial\n * @param {Buffer} divisor Polynomial\n * @return {Buffer} Remainder\n */\nexports.mod = function mod (divident, divisor) {\n var result = new Buffer(divident);\n\n while ((result.length - divisor.length) >= 0) {\n var coeff = result[0];\n\n for (var i = 0; i < divisor.length; i++) {\n result[i] ^= GF.mul(divisor[i], coeff);\n }\n\n // remove all zeros from buffer head\n var offset = 0;\n while (offset < result.length && result[offset] === 0) offset++;\n result = result.slice(offset);\n }\n\n return result\n};\n\n/**\n * Generate an irreducible generator polynomial of specified degree\n * (used by Reed-Solomon encoder)\n *\n * @param {Number} degree Degree of the generator polynomial\n * @return {Buffer} Buffer containing polynomial coefficients\n */\nexports.generateECPolynomial = function generateECPolynomial (degree) {\n var poly = new Buffer([1]);\n for (var i = 0; i < degree; i++) {\n poly = exports.mul(poly, [1, GF.exp(i)]);\n }\n\n return poly\n};\n\n},{\"../utils/buffer\":27,\"./galois-field\":10}],16:[function(require,module,exports){\nvar Buffer = require('../utils/buffer');\nvar Utils = require('./utils');\nvar ECLevel = require('./error-correction-level');\nvar BitBuffer = require('./bit-buffer');\nvar BitMatrix = require('./bit-matrix');\nvar AlignmentPattern = require('./alignment-pattern');\nvar FinderPattern = require('./finder-pattern');\nvar MaskPattern = require('./mask-pattern');\nvar ECCode = require('./error-correction-code');\nvar ReedSolomonEncoder = require('./reed-solomon-encoder');\nvar Version = require('./version');\nvar FormatInfo = require('./format-info');\nvar Mode = require('./mode');\nvar Segments = require('./segments');\nvar isArray = require('isarray');\n\n/**\n * QRCode for JavaScript\n *\n * modified by Ryan Day for nodejs support\n * Copyright (c) 2011 Ryan Day\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/mit-license.php\n *\n//---------------------------------------------------------------------\n// QRCode for JavaScript\n//\n// Copyright (c) 2009 Kazuhiko Arase\n//\n// URL: http://www.d-project.com/\n//\n// Licensed under the MIT license:\n// http://www.opensource.org/licenses/mit-license.php\n//\n// The word \"QR Code\" is registered trademark of\n// DENSO WAVE INCORPORATED\n// http://www.denso-wave.com/qrcode/faqpatent-e.html\n//\n//---------------------------------------------------------------------\n*/\n\n/**\n * Add finder patterns bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupFinderPattern (matrix, version) {\n var size = matrix.size;\n var pos = FinderPattern.getPositions(version);\n\n for (var i = 0; i < pos.length; i++) {\n var row = pos[i][0];\n var col = pos[i][1];\n\n for (var r = -1; r <= 7; r++) {\n if (row + r <= -1 || size <= row + r) continue\n\n for (var c = -1; c <= 7; c++) {\n if (col + c <= -1 || size <= col + c) continue\n\n if ((r >= 0 && r <= 6 && (c === 0 || c === 6)) ||\n (c >= 0 && c <= 6 && (r === 0 || r === 6)) ||\n (r >= 2 && r <= 4 && c >= 2 && c <= 4)) {\n matrix.set(row + r, col + c, true, true);\n } else {\n matrix.set(row + r, col + c, false, true);\n }\n }\n }\n }\n}\n\n/**\n * Add timing pattern bits to matrix\n *\n * Note: this function must be called before {@link setupAlignmentPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n */\nfunction setupTimingPattern (matrix) {\n var size = matrix.size;\n\n for (var r = 8; r < size - 8; r++) {\n var value = r % 2 === 0;\n matrix.set(r, 6, value, true);\n matrix.set(6, r, value, true);\n }\n}\n\n/**\n * Add alignment patterns bits to matrix\n *\n * Note: this function must be called after {@link setupTimingPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupAlignmentPattern (matrix, version) {\n var pos = AlignmentPattern.getPositions(version);\n\n for (var i = 0; i < pos.length; i++) {\n var row = pos[i][0];\n var col = pos[i][1];\n\n for (var r = -2; r <= 2; r++) {\n for (var c = -2; c <= 2; c++) {\n if (r === -2 || r === 2 || c === -2 || c === 2 ||\n (r === 0 && c === 0)) {\n matrix.set(row + r, col + c, true, true);\n } else {\n matrix.set(row + r, col + c, false, true);\n }\n }\n }\n }\n}\n\n/**\n * Add version info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupVersionInfo (matrix, version) {\n var size = matrix.size;\n var bits = Version.getEncodedBits(version);\n var row, col, mod;\n\n for (var i = 0; i < 18; i++) {\n row = Math.floor(i / 3);\n col = i % 3 + size - 8 - 3;\n mod = ((bits >> i) & 1) === 1;\n\n matrix.set(row, col, mod, true);\n matrix.set(col, row, mod, true);\n }\n}\n\n/**\n * Add format info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {Number} maskPattern Mask pattern reference value\n */\nfunction setupFormatInfo (matrix, errorCorrectionLevel, maskPattern) {\n var size = matrix.size;\n var bits = FormatInfo.getEncodedBits(errorCorrectionLevel, maskPattern);\n var i, mod;\n\n for (i = 0; i < 15; i++) {\n mod = ((bits >> i) & 1) === 1;\n\n // vertical\n if (i < 6) {\n matrix.set(i, 8, mod, true);\n } else if (i < 8) {\n matrix.set(i + 1, 8, mod, true);\n } else {\n matrix.set(size - 15 + i, 8, mod, true);\n }\n\n // horizontal\n if (i < 8) {\n matrix.set(8, size - i - 1, mod, true);\n } else if (i < 9) {\n matrix.set(8, 15 - i - 1 + 1, mod, true);\n } else {\n matrix.set(8, 15 - i - 1, mod, true);\n }\n }\n\n // fixed module\n matrix.set(size - 8, 8, 1, true);\n}\n\n/**\n * Add encoded data bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Buffer} data Data codewords\n */\nfunction setupData (matrix, data) {\n var size = matrix.size;\n var inc = -1;\n var row = size - 1;\n var bitIndex = 7;\n var byteIndex = 0;\n\n for (var col = size - 1; col > 0; col -= 2) {\n if (col === 6) col--;\n\n while (true) {\n for (var c = 0; c < 2; c++) {\n if (!matrix.isReserved(row, col - c)) {\n var dark = false;\n\n if (byteIndex < data.length) {\n dark = (((data[byteIndex] >>> bitIndex) & 1) === 1);\n }\n\n matrix.set(row, col - c, dark);\n bitIndex--;\n\n if (bitIndex === -1) {\n byteIndex++;\n bitIndex = 7;\n }\n }\n }\n\n row += inc;\n\n if (row < 0 || size <= row) {\n row -= inc;\n inc = -inc;\n break\n }\n }\n }\n}\n\n/**\n * Create encoded codewords from data input\n *\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {ByteData} data Data input\n * @return {Buffer} Buffer containing encoded codewords\n */\nfunction createData (version, errorCorrectionLevel, segments) {\n // Prepare data buffer\n var buffer = new BitBuffer();\n\n segments.forEach(function (data) {\n // prefix data with mode indicator (4 bits)\n buffer.put(data.mode.bit, 4);\n\n // Prefix data with character count indicator.\n // The character count indicator is a string of bits that represents the\n // number of characters that are being encoded.\n // The character count indicator must be placed after the mode indicator\n // and must be a certain number of bits long, depending on the QR version\n // and data mode\n // @see {@link Mode.getCharCountIndicator}.\n buffer.put(data.getLength(), Mode.getCharCountIndicator(data.mode, version));\n\n // add binary data sequence to buffer\n data.write(buffer);\n });\n\n // Calculate required number of bits\n var totalCodewords = Utils.getSymbolTotalCodewords(version);\n var ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel);\n var dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8;\n\n // Add a terminator.\n // If the bit string is shorter than the total number of required bits,\n // a terminator of up to four 0s must be added to the right side of the string.\n // If the bit string is more than four bits shorter than the required number of bits,\n // add four 0s to the end.\n if (buffer.getLengthInBits() + 4 <= dataTotalCodewordsBits) {\n buffer.put(0, 4);\n }\n\n // If the bit string is fewer than four bits shorter, add only the number of 0s that\n // are needed to reach the required number of bits.\n\n // After adding the terminator, if the number of bits in the string is not a multiple of 8,\n // pad the string on the right with 0s to make the string's length a multiple of 8.\n while (buffer.getLengthInBits() % 8 !== 0) {\n buffer.putBit(0);\n }\n\n // Add pad bytes if the string is still shorter than the total number of required bits.\n // Extend the buffer to fill the data capacity of the symbol corresponding to\n // the Version and Error Correction Level by adding the Pad Codewords 11101100 (0xEC)\n // and 00010001 (0x11) alternately.\n var remainingByte = (dataTotalCodewordsBits - buffer.getLengthInBits()) / 8;\n for (var i = 0; i < remainingByte; i++) {\n buffer.put(i % 2 ? 0x11 : 0xEC, 8);\n }\n\n return createCodewords(buffer, version, errorCorrectionLevel)\n}\n\n/**\n * Encode input data with Reed-Solomon and return codewords with\n * relative error correction bits\n *\n * @param {BitBuffer} bitBuffer Data to encode\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @return {Buffer} Buffer containing encoded codewords\n */\nfunction createCodewords (bitBuffer, version, errorCorrectionLevel) {\n // Total codewords for this QR code version (Data + Error correction)\n var totalCodewords = Utils.getSymbolTotalCodewords(version);\n\n // Total number of error correction codewords\n var ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel);\n\n // Total number of data codewords\n var dataTotalCodewords = totalCodewords - ecTotalCodewords;\n\n // Total number of blocks\n var ecTotalBlocks = ECCode.getBlocksCount(version, errorCorrectionLevel);\n\n // Calculate how many blocks each group should contain\n var blocksInGroup2 = totalCodewords % ecTotalBlocks;\n var blocksInGroup1 = ecTotalBlocks - blocksInGroup2;\n\n var totalCodewordsInGroup1 = Math.floor(totalCodewords / ecTotalBlocks);\n\n var dataCodewordsInGroup1 = Math.floor(dataTotalCodewords / ecTotalBlocks);\n var dataCodewordsInGroup2 = dataCodewordsInGroup1 + 1;\n\n // Number of EC codewords is the same for both groups\n var ecCount = totalCodewordsInGroup1 - dataCodewordsInGroup1;\n\n // Initialize a Reed-Solomon encoder with a generator polynomial of degree ecCount\n var rs = new ReedSolomonEncoder(ecCount);\n\n var offset = 0;\n var dcData = new Array(ecTotalBlocks);\n var ecData = new Array(ecTotalBlocks);\n var maxDataSize = 0;\n var buffer = new Buffer(bitBuffer.buffer);\n\n // Divide the buffer into the required number of blocks\n for (var b = 0; b < ecTotalBlocks; b++) {\n var dataSize = b < blocksInGroup1 ? dataCodewordsInGroup1 : dataCodewordsInGroup2;\n\n // extract a block of data from buffer\n dcData[b] = buffer.slice(offset, offset + dataSize);\n\n // Calculate EC codewords for this data block\n ecData[b] = rs.encode(dcData[b]);\n\n offset += dataSize;\n maxDataSize = Math.max(maxDataSize, dataSize);\n }\n\n // Create final data\n // Interleave the data and error correction codewords from each block\n var data = new Buffer(totalCodewords);\n var index = 0;\n var i, r;\n\n // Add data codewords\n for (i = 0; i < maxDataSize; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n if (i < dcData[r].length) {\n data[index++] = dcData[r][i];\n }\n }\n }\n\n // Apped EC codewords\n for (i = 0; i < ecCount; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n data[index++] = ecData[r][i];\n }\n }\n\n return data\n}\n\n/**\n * Build QR Code symbol\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @param {ErrorCorretionLevel} errorCorrectionLevel Error level\n * @param {MaskPattern} maskPattern Mask pattern\n * @return {Object} Object containing symbol data\n */\nfunction createSymbol (data, version, errorCorrectionLevel, maskPattern) {\n var segments;\n\n if (isArray(data)) {\n segments = Segments.fromArray(data);\n } else if (typeof data === 'string') {\n var estimatedVersion = version;\n\n if (!estimatedVersion) {\n var rawSegments = Segments.rawSplit(data);\n\n // Estimate best version that can contain raw splitted segments\n estimatedVersion = Version.getBestVersionForData(rawSegments,\n errorCorrectionLevel);\n }\n\n // Build optimized segments\n // If estimated version is undefined, try with the highest version\n segments = Segments.fromString(data, estimatedVersion || 40);\n } else {\n throw new Error('Invalid data')\n }\n\n // Get the min version that can contain data\n var bestVersion = Version.getBestVersionForData(segments,\n errorCorrectionLevel);\n\n // If no version is found, data cannot be stored\n if (!bestVersion) {\n throw new Error('The amount of data is too big to be stored in a QR Code')\n }\n\n // If not specified, use min version as default\n if (!version) {\n version = bestVersion;\n\n // Check if the specified version can contain the data\n } else if (version < bestVersion) {\n throw new Error('\\n' +\n 'The chosen QR Code version cannot contain this amount of data.\\n' +\n 'Minimum version required to store current data is: ' + bestVersion + '.\\n'\n )\n }\n\n var dataBits = createData(version, errorCorrectionLevel, segments);\n\n // Allocate matrix buffer\n var moduleCount = Utils.getSymbolSize(version);\n var modules = new BitMatrix(moduleCount);\n\n // Add function modules\n setupFinderPattern(modules, version);\n setupTimingPattern(modules);\n setupAlignmentPattern(modules, version);\n\n // Add temporary dummy bits for format info just to set them as reserved.\n // This is needed to prevent these bits from being masked by {@link MaskPattern.applyMask}\n // since the masking operation must be performed only on the encoding region.\n // These blocks will be replaced with correct values later in code.\n setupFormatInfo(modules, errorCorrectionLevel, 0);\n\n if (version >= 7) {\n setupVersionInfo(modules, version);\n }\n\n // Add data codewords\n setupData(modules, dataBits);\n\n if (isNaN(maskPattern)) {\n // Find best mask pattern\n maskPattern = MaskPattern.getBestMask(modules,\n setupFormatInfo.bind(null, modules, errorCorrectionLevel));\n }\n\n // Apply mask pattern\n MaskPattern.applyMask(maskPattern, modules);\n\n // Replace format info bits with correct values\n setupFormatInfo(modules, errorCorrectionLevel, maskPattern);\n\n return {\n modules: modules,\n version: version,\n errorCorrectionLevel: errorCorrectionLevel,\n maskPattern: maskPattern,\n segments: segments\n }\n}\n\n/**\n * QR Code\n *\n * @param {String | Array} data Input data\n * @param {Object} options Optional configurations\n * @param {Number} options.version QR Code version\n * @param {String} options.errorCorrectionLevel Error correction level\n * @param {Function} options.toSJISFunc Helper func to convert utf8 to sjis\n */\nexports.create = function create (data, options) {\n if (typeof data === 'undefined' || data === '') {\n throw new Error('No input text')\n }\n\n var errorCorrectionLevel = ECLevel.M;\n var version;\n var mask;\n\n if (typeof options !== 'undefined') {\n // Use higher error correction level as default\n errorCorrectionLevel = ECLevel.from(options.errorCorrectionLevel, ECLevel.M);\n version = Version.from(options.version);\n mask = MaskPattern.from(options.maskPattern);\n\n if (options.toSJISFunc) {\n Utils.setToSJISFunction(options.toSJISFunc);\n }\n }\n\n return createSymbol(data, version, errorCorrectionLevel, mask)\n};\n\n},{\"../utils/buffer\":27,\"./alignment-pattern\":1,\"./bit-buffer\":3,\"./bit-matrix\":4,\"./error-correction-code\":6,\"./error-correction-level\":7,\"./finder-pattern\":8,\"./format-info\":9,\"./mask-pattern\":12,\"./mode\":13,\"./reed-solomon-encoder\":17,\"./segments\":19,\"./utils\":20,\"./version\":22,\"isarray\":30}],17:[function(require,module,exports){\nvar Buffer = require('../utils/buffer');\nvar Polynomial = require('./polynomial');\n\nfunction ReedSolomonEncoder (degree) {\n this.genPoly = undefined;\n this.degree = degree;\n\n if (this.degree) this.initialize(this.degree);\n}\n\n/**\n * Initialize the encoder.\n * The input param should correspond to the number of error correction codewords.\n *\n * @param {Number} degree\n */\nReedSolomonEncoder.prototype.initialize = function initialize (degree) {\n // create an irreducible generator polynomial\n this.degree = degree;\n this.genPoly = Polynomial.generateECPolynomial(this.degree);\n};\n\n/**\n * Encodes a chunk of data\n *\n * @param {Buffer} data Buffer containing input data\n * @return {Buffer} Buffer containing encoded data\n */\nReedSolomonEncoder.prototype.encode = function encode (data) {\n if (!this.genPoly) {\n throw new Error('Encoder not initialized')\n }\n\n // Calculate EC for this data block\n // extends data size to data+genPoly size\n var pad = new Buffer(this.degree);\n pad.fill(0);\n var paddedData = Buffer.concat([data, pad], data.length + this.degree);\n\n // The error correction codewords are the remainder after dividing the data codewords\n // by a generator polynomial\n var remainder = Polynomial.mod(paddedData, this.genPoly);\n\n // return EC data blocks (last n byte, where n is the degree of genPoly)\n // If coefficients number in remainder are less than genPoly degree,\n // pad with 0s to the left to reach the needed number of coefficients\n var start = this.degree - remainder.length;\n if (start > 0) {\n var buff = new Buffer(this.degree);\n buff.fill(0);\n remainder.copy(buff, start);\n\n return buff\n }\n\n return remainder\n};\n\nmodule.exports = ReedSolomonEncoder;\n\n},{\"../utils/buffer\":27,\"./polynomial\":15}],18:[function(require,module,exports){\nvar numeric = '[0-9]+';\nvar alphanumeric = '[A-Z $%*+\\\\-./:]+';\nvar kanji = '(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|' +\n '[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|' +\n '[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|' +\n '[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+';\nkanji = kanji.replace(/u/g, '\\\\u');\n\nvar byte = '(?:(?![A-Z0-9 $%*+\\\\-./:]|' + kanji + ')(?:.|[\\r\\n]))+';\n\nexports.KANJI = new RegExp(kanji, 'g');\nexports.BYTE_KANJI = new RegExp('[^A-Z0-9 $%*+\\\\-./:]+', 'g');\nexports.BYTE = new RegExp(byte, 'g');\nexports.NUMERIC = new RegExp(numeric, 'g');\nexports.ALPHANUMERIC = new RegExp(alphanumeric, 'g');\n\nvar TEST_KANJI = new RegExp('^' + kanji + '$');\nvar TEST_NUMERIC = new RegExp('^' + numeric + '$');\nvar TEST_ALPHANUMERIC = new RegExp('^[A-Z0-9 $%*+\\\\-./:]+$');\n\nexports.testKanji = function testKanji (str) {\n return TEST_KANJI.test(str)\n};\n\nexports.testNumeric = function testNumeric (str) {\n return TEST_NUMERIC.test(str)\n};\n\nexports.testAlphanumeric = function testAlphanumeric (str) {\n return TEST_ALPHANUMERIC.test(str)\n};\n\n},{}],19:[function(require,module,exports){\nvar Mode = require('./mode');\nvar NumericData = require('./numeric-data');\nvar AlphanumericData = require('./alphanumeric-data');\nvar ByteData = require('./byte-data');\nvar KanjiData = require('./kanji-data');\nvar Regex = require('./regex');\nvar Utils = require('./utils');\nvar dijkstra = require('dijkstrajs');\n\n/**\n * Returns UTF8 byte length\n *\n * @param {String} str Input string\n * @return {Number} Number of byte\n */\nfunction getStringByteLength (str) {\n return unescape(encodeURIComponent(str)).length\n}\n\n/**\n * Get a list of segments of the specified mode\n * from a string\n *\n * @param {Mode} mode Segment mode\n * @param {String} str String to process\n * @return {Array} Array of object with segments data\n */\nfunction getSegments (regex, mode, str) {\n var segments = [];\n var result;\n\n while ((result = regex.exec(str)) !== null) {\n segments.push({\n data: result[0],\n index: result.index,\n mode: mode,\n length: result[0].length\n });\n }\n\n return segments\n}\n\n/**\n * Extracts a series of segments with the appropriate\n * modes from a string\n *\n * @param {String} dataStr Input string\n * @return {Array} Array of object with segments data\n */\nfunction getSegmentsFromString (dataStr) {\n var numSegs = getSegments(Regex.NUMERIC, Mode.NUMERIC, dataStr);\n var alphaNumSegs = getSegments(Regex.ALPHANUMERIC, Mode.ALPHANUMERIC, dataStr);\n var byteSegs;\n var kanjiSegs;\n\n if (Utils.isKanjiModeEnabled()) {\n byteSegs = getSegments(Regex.BYTE, Mode.BYTE, dataStr);\n kanjiSegs = getSegments(Regex.KANJI, Mode.KANJI, dataStr);\n } else {\n byteSegs = getSegments(Regex.BYTE_KANJI, Mode.BYTE, dataStr);\n kanjiSegs = [];\n }\n\n var segs = numSegs.concat(alphaNumSegs, byteSegs, kanjiSegs);\n\n return segs\n .sort(function (s1, s2) {\n return s1.index - s2.index\n })\n .map(function (obj) {\n return {\n data: obj.data,\n mode: obj.mode,\n length: obj.length\n }\n })\n}\n\n/**\n * Returns how many bits are needed to encode a string of\n * specified length with the specified mode\n *\n * @param {Number} length String length\n * @param {Mode} mode Segment mode\n * @return {Number} Bit length\n */\nfunction getSegmentBitsLength (length, mode) {\n switch (mode) {\n case Mode.NUMERIC:\n return NumericData.getBitsLength(length)\n case Mode.ALPHANUMERIC:\n return AlphanumericData.getBitsLength(length)\n case Mode.KANJI:\n return KanjiData.getBitsLength(length)\n case Mode.BYTE:\n return ByteData.getBitsLength(length)\n }\n}\n\n/**\n * Merges adjacent segments which have the same mode\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction mergeSegments (segs) {\n return segs.reduce(function (acc, curr) {\n var prevSeg = acc.length - 1 >= 0 ? acc[acc.length - 1] : null;\n if (prevSeg && prevSeg.mode === curr.mode) {\n acc[acc.length - 1].data += curr.data;\n return acc\n }\n\n acc.push(curr);\n return acc\n }, [])\n}\n\n/**\n * Generates a list of all possible nodes combination which\n * will be used to build a segments graph.\n *\n * Nodes are divided by groups. Each group will contain a list of all the modes\n * in which is possible to encode the given text.\n *\n * For example the text '12345' can be encoded as Numeric, Alphanumeric or Byte.\n * The group for '12345' will contain then 3 objects, one for each\n * possible encoding mode.\n *\n * Each node represents a possible segment.\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction buildNodes (segs) {\n var nodes = [];\n for (var i = 0; i < segs.length; i++) {\n var seg = segs[i];\n\n switch (seg.mode) {\n case Mode.NUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.ALPHANUMERIC, length: seg.length },\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ]);\n break\n case Mode.ALPHANUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ]);\n break\n case Mode.KANJI:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ]);\n break\n case Mode.BYTE:\n nodes.push([\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ]);\n }\n }\n\n return nodes\n}\n\n/**\n * Builds a graph from a list of nodes.\n * All segments in each node group will be connected with all the segments of\n * the next group and so on.\n *\n * At each connection will be assigned a weight depending on the\n * segment's byte length.\n *\n * @param {Array} nodes Array of object with segments data\n * @param {Number} version QR Code version\n * @return {Object} Graph of all possible segments\n */\nfunction buildGraph (nodes, version) {\n var table = {};\n var graph = {'start': {}};\n var prevNodeIds = ['start'];\n\n for (var i = 0; i < nodes.length; i++) {\n var nodeGroup = nodes[i];\n var currentNodeIds = [];\n\n for (var j = 0; j < nodeGroup.length; j++) {\n var node = nodeGroup[j];\n var key = '' + i + j;\n\n currentNodeIds.push(key);\n table[key] = { node: node, lastCount: 0 };\n graph[key] = {};\n\n for (var n = 0; n < prevNodeIds.length; n++) {\n var prevNodeId = prevNodeIds[n];\n\n if (table[prevNodeId] && table[prevNodeId].node.mode === node.mode) {\n graph[prevNodeId][key] =\n getSegmentBitsLength(table[prevNodeId].lastCount + node.length, node.mode) -\n getSegmentBitsLength(table[prevNodeId].lastCount, node.mode);\n\n table[prevNodeId].lastCount += node.length;\n } else {\n if (table[prevNodeId]) table[prevNodeId].lastCount = node.length;\n\n graph[prevNodeId][key] = getSegmentBitsLength(node.length, node.mode) +\n 4 + Mode.getCharCountIndicator(node.mode, version); // switch cost\n }\n }\n }\n\n prevNodeIds = currentNodeIds;\n }\n\n for (n = 0; n < prevNodeIds.length; n++) {\n graph[prevNodeIds[n]]['end'] = 0;\n }\n\n return { map: graph, table: table }\n}\n\n/**\n * Builds a segment from a specified data and mode.\n * If a mode is not specified, the more suitable will be used.\n *\n * @param {String} data Input data\n * @param {Mode | String} modesHint Data mode\n * @return {Segment} Segment\n */\nfunction buildSingleSegment (data, modesHint) {\n var mode;\n var bestMode = Mode.getBestModeForData(data);\n\n mode = Mode.from(modesHint, bestMode);\n\n // Make sure data can be encoded\n if (mode !== Mode.BYTE && mode.bit < bestMode.bit) {\n throw new Error('\"' + data + '\"' +\n ' cannot be encoded with mode ' + Mode.toString(mode) +\n '.\\n Suggested mode is: ' + Mode.toString(bestMode))\n }\n\n // Use Mode.BYTE if Kanji support is disabled\n if (mode === Mode.KANJI && !Utils.isKanjiModeEnabled()) {\n mode = Mode.BYTE;\n }\n\n switch (mode) {\n case Mode.NUMERIC:\n return new NumericData(data)\n\n case Mode.ALPHANUMERIC:\n return new AlphanumericData(data)\n\n case Mode.KANJI:\n return new KanjiData(data)\n\n case Mode.BYTE:\n return new ByteData(data)\n }\n}\n\n/**\n * Builds a list of segments from an array.\n * Array can contain Strings or Objects with segment's info.\n *\n * For each item which is a string, will be generated a segment with the given\n * string and the more appropriate encoding mode.\n *\n * For each item which is an object, will be generated a segment with the given\n * data and mode.\n * Objects must contain at least the property \"data\".\n * If property \"mode\" is not present, the more suitable mode will be used.\n *\n * @param {Array} array Array of objects with segments data\n * @return {Array} Array of Segments\n */\nexports.fromArray = function fromArray (array) {\n return array.reduce(function (acc, seg) {\n if (typeof seg === 'string') {\n acc.push(buildSingleSegment(seg, null));\n } else if (seg.data) {\n acc.push(buildSingleSegment(seg.data, seg.mode));\n }\n\n return acc\n }, [])\n};\n\n/**\n * Builds an optimized sequence of segments from a string,\n * which will produce the shortest possible bitstream.\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @return {Array} Array of segments\n */\nexports.fromString = function fromString (data, version) {\n var segs = getSegmentsFromString(data, Utils.isKanjiModeEnabled());\n\n var nodes = buildNodes(segs);\n var graph = buildGraph(nodes, version);\n var path = dijkstra.find_path(graph.map, 'start', 'end');\n\n var optimizedSegs = [];\n for (var i = 1; i < path.length - 1; i++) {\n optimizedSegs.push(graph.table[path[i]].node);\n }\n\n return exports.fromArray(mergeSegments(optimizedSegs))\n};\n\n/**\n * Splits a string in various segments with the modes which\n * best represent their content.\n * The produced segments are far from being optimized.\n * The output of this function is only used to estimate a QR Code version\n * which may contain the data.\n *\n * @param {string} data Input string\n * @return {Array} Array of segments\n */\nexports.rawSplit = function rawSplit (data) {\n return exports.fromArray(\n getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n )\n};\n\n},{\"./alphanumeric-data\":2,\"./byte-data\":5,\"./kanji-data\":11,\"./mode\":13,\"./numeric-data\":14,\"./regex\":18,\"./utils\":20,\"dijkstrajs\":29}],20:[function(require,module,exports){\nvar toSJISFunction;\nvar CODEWORDS_COUNT = [\n 0, // Not used\n 26, 44, 70, 100, 134, 172, 196, 242, 292, 346,\n 404, 466, 532, 581, 655, 733, 815, 901, 991, 1085,\n 1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185,\n 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706\n];\n\n/**\n * Returns the QR Code size for the specified version\n *\n * @param {Number} version QR Code version\n * @return {Number} size of QR code\n */\nexports.getSymbolSize = function getSymbolSize (version) {\n if (!version) throw new Error('\"version\" cannot be null or undefined')\n if (version < 1 || version > 40) throw new Error('\"version\" should be in range from 1 to 40')\n return version * 4 + 17\n};\n\n/**\n * Returns the total number of codewords used to store data and EC information.\n *\n * @param {Number} version QR Code version\n * @return {Number} Data length in bits\n */\nexports.getSymbolTotalCodewords = function getSymbolTotalCodewords (version) {\n return CODEWORDS_COUNT[version]\n};\n\n/**\n * Encode data with Bose-Chaudhuri-Hocquenghem\n *\n * @param {Number} data Value to encode\n * @return {Number} Encoded value\n */\nexports.getBCHDigit = function (data) {\n var digit = 0;\n\n while (data !== 0) {\n digit++;\n data >>>= 1;\n }\n\n return digit\n};\n\nexports.setToSJISFunction = function setToSJISFunction (f) {\n if (typeof f !== 'function') {\n throw new Error('\"toSJISFunc\" is not a valid function.')\n }\n\n toSJISFunction = f;\n};\n\nexports.isKanjiModeEnabled = function () {\n return typeof toSJISFunction !== 'undefined'\n};\n\nexports.toSJIS = function toSJIS (kanji) {\n return toSJISFunction(kanji)\n};\n\n},{}],21:[function(require,module,exports){\n/**\n * Check if QR Code version is valid\n *\n * @param {Number} version QR Code version\n * @return {Boolean} true if valid version, false otherwise\n */\nexports.isValid = function isValid (version) {\n return !isNaN(version) && version >= 1 && version <= 40\n};\n\n},{}],22:[function(require,module,exports){\nvar Utils = require('./utils');\nvar ECCode = require('./error-correction-code');\nvar ECLevel = require('./error-correction-level');\nvar Mode = require('./mode');\nvar VersionCheck = require('./version-check');\nvar isArray = require('isarray');\n\n// Generator polynomial used to encode version information\nvar G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0);\nvar G18_BCH = Utils.getBCHDigit(G18);\n\nfunction getBestVersionForDataLength (mode, length, errorCorrectionLevel) {\n for (var currentVersion = 1; currentVersion <= 40; currentVersion++) {\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, mode)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\nfunction getReservedBitsCount (mode, version) {\n // Character count indicator + mode indicator bits\n return Mode.getCharCountIndicator(mode, version) + 4\n}\n\nfunction getTotalBitsFromDataArray (segments, version) {\n var totalBits = 0;\n\n segments.forEach(function (data) {\n var reservedBits = getReservedBitsCount(data.mode, version);\n totalBits += reservedBits + data.getBitsLength();\n });\n\n return totalBits\n}\n\nfunction getBestVersionForMixedData (segments, errorCorrectionLevel) {\n for (var currentVersion = 1; currentVersion <= 40; currentVersion++) {\n var length = getTotalBitsFromDataArray(segments, currentVersion);\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, Mode.MIXED)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\n/**\n * Returns version number from a value.\n * If value is not a valid version, returns defaultValue\n *\n * @param {Number|String} value QR Code version\n * @param {Number} defaultValue Fallback value\n * @return {Number} QR Code version number\n */\nexports.from = function from (value, defaultValue) {\n if (VersionCheck.isValid(value)) {\n return parseInt(value, 10)\n }\n\n return defaultValue\n};\n\n/**\n * Returns how much data can be stored with the specified QR code version\n * and error correction level\n *\n * @param {Number} version QR Code version (1-40)\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} Quantity of storable data\n */\nexports.getCapacity = function getCapacity (version, errorCorrectionLevel, mode) {\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid QR Code version')\n }\n\n // Use Byte mode as default\n if (typeof mode === 'undefined') mode = Mode.BYTE;\n\n // Total codewords for this QR code version (Data + Error correction)\n var totalCodewords = Utils.getSymbolTotalCodewords(version);\n\n // Total number of error correction codewords\n var ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel);\n\n // Total number of data codewords\n var dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8;\n\n if (mode === Mode.MIXED) return dataTotalCodewordsBits\n\n var usableBits = dataTotalCodewordsBits - getReservedBitsCount(mode, version);\n\n // Return max number of storable codewords\n switch (mode) {\n case Mode.NUMERIC:\n return Math.floor((usableBits / 10) * 3)\n\n case Mode.ALPHANUMERIC:\n return Math.floor((usableBits / 11) * 2)\n\n case Mode.KANJI:\n return Math.floor(usableBits / 13)\n\n case Mode.BYTE:\n default:\n return Math.floor(usableBits / 8)\n }\n};\n\n/**\n * Returns the minimum version needed to contain the amount of data\n *\n * @param {Segment} data Segment of data\n * @param {Number} [errorCorrectionLevel=H] Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} QR Code version\n */\nexports.getBestVersionForData = function getBestVersionForData (data, errorCorrectionLevel) {\n var seg;\n\n var ecl = ECLevel.from(errorCorrectionLevel, ECLevel.M);\n\n if (isArray(data)) {\n if (data.length > 1) {\n return getBestVersionForMixedData(data, ecl)\n }\n\n if (data.length === 0) {\n return 1\n }\n\n seg = data[0];\n } else {\n seg = data;\n }\n\n return getBestVersionForDataLength(seg.mode, seg.getLength(), ecl)\n};\n\n/**\n * Returns version information with relative error correction bits\n *\n * The version information is included in QR Code symbols of version 7 or larger.\n * It consists of an 18-bit sequence containing 6 data bits,\n * with 12 error correction bits calculated using the (18, 6) Golay code.\n *\n * @param {Number} version QR Code version\n * @return {Number} Encoded version info bits\n */\nexports.getEncodedBits = function getEncodedBits (version) {\n if (!VersionCheck.isValid(version) || version < 7) {\n throw new Error('Invalid QR Code version')\n }\n\n var d = version << 12;\n\n while (Utils.getBCHDigit(d) - G18_BCH >= 0) {\n d ^= (G18 << (Utils.getBCHDigit(d) - G18_BCH));\n }\n\n return (version << 12) | d\n};\n\n},{\"./error-correction-code\":6,\"./error-correction-level\":7,\"./mode\":13,\"./utils\":20,\"./version-check\":21,\"isarray\":30}],23:[function(require,module,exports){\nvar canPromise = require('can-promise');\nvar QRCode = require('./core/qrcode');\nvar CanvasRenderer = require('./renderer/canvas');\nvar SvgRenderer = require('./renderer/svg-tag.js');\n\nfunction renderCanvas (renderFunc, canvas, text, opts, cb) {\n var args = [].slice.call(arguments, 1);\n var argsNum = args.length;\n var isLastArgCb = typeof args[argsNum - 1] === 'function';\n\n if (!isLastArgCb && !canPromise()) {\n throw new Error('Callback required as last argument')\n }\n\n if (isLastArgCb) {\n if (argsNum < 2) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 2) {\n cb = text;\n text = canvas;\n canvas = opts = undefined;\n } else if (argsNum === 3) {\n if (canvas.getContext && typeof cb === 'undefined') {\n cb = opts;\n opts = undefined;\n } else {\n cb = opts;\n opts = text;\n text = canvas;\n canvas = undefined;\n }\n }\n } else {\n if (argsNum < 1) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 1) {\n text = canvas;\n canvas = opts = undefined;\n } else if (argsNum === 2 && !canvas.getContext) {\n opts = text;\n text = canvas;\n canvas = undefined;\n }\n\n return new Promise(function (resolve, reject) {\n try {\n var data = QRCode.create(text, opts);\n resolve(renderFunc(data, canvas, opts));\n } catch (e) {\n reject(e);\n }\n })\n }\n\n try {\n var data = QRCode.create(text, opts);\n cb(null, renderFunc(data, canvas, opts));\n } catch (e) {\n cb(e);\n }\n}\n\nexports.create = QRCode.create;\nexports.toCanvas = renderCanvas.bind(null, CanvasRenderer.render);\nexports.toDataURL = renderCanvas.bind(null, CanvasRenderer.renderToDataURL);\n\n// only svg for now.\nexports.toString = renderCanvas.bind(null, function (data, _, opts) {\n return SvgRenderer.render(data, opts)\n});\n\n},{\"./core/qrcode\":16,\"./renderer/canvas\":24,\"./renderer/svg-tag.js\":25,\"can-promise\":28}],24:[function(require,module,exports){\nvar Utils = require('./utils');\n\nfunction clearCanvas (ctx, canvas, size) {\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n\n if (!canvas.style) canvas.style = {};\n canvas.height = size;\n canvas.width = size;\n canvas.style.height = size + 'px';\n canvas.style.width = size + 'px';\n}\n\nfunction getCanvasElement () {\n try {\n return document.createElement('canvas')\n } catch (e) {\n throw new Error('You need to specify a canvas element')\n }\n}\n\nexports.render = function render (qrData, canvas, options) {\n var opts = options;\n var canvasEl = canvas;\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas;\n canvas = undefined;\n }\n\n if (!canvas) {\n canvasEl = getCanvasElement();\n }\n\n opts = Utils.getOptions(opts);\n var size = Utils.getImageWidth(qrData.modules.size, opts);\n\n var ctx = canvasEl.getContext('2d');\n var image = ctx.createImageData(size, size);\n Utils.qrToImageData(image.data, qrData, opts);\n\n clearCanvas(ctx, canvasEl, size);\n ctx.putImageData(image, 0, 0);\n\n return canvasEl\n};\n\nexports.renderToDataURL = function renderToDataURL (qrData, canvas, options) {\n var opts = options;\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas;\n canvas = undefined;\n }\n\n if (!opts) opts = {};\n\n var canvasEl = exports.render(qrData, canvas, opts);\n\n var type = opts.type || 'image/png';\n var rendererOpts = opts.rendererOpts || {};\n\n return canvasEl.toDataURL(type, rendererOpts.quality)\n};\n\n},{\"./utils\":26}],25:[function(require,module,exports){\nvar Utils = require('./utils');\n\nfunction getColorAttrib (color, attrib) {\n var alpha = color.a / 255;\n var str = attrib + '=\"' + color.hex + '\"';\n\n return alpha < 1\n ? str + ' ' + attrib + '-opacity=\"' + alpha.toFixed(2).slice(1) + '\"'\n : str\n}\n\nfunction svgCmd (cmd, x, y) {\n var str = cmd + x;\n if (typeof y !== 'undefined') str += ' ' + y;\n\n return str\n}\n\nfunction qrToPath (data, size, margin) {\n var path = '';\n var moveBy = 0;\n var newRow = false;\n var lineLength = 0;\n\n for (var i = 0; i < data.length; i++) {\n var col = Math.floor(i % size);\n var row = Math.floor(i / size);\n\n if (!col && !newRow) newRow = true;\n\n if (data[i]) {\n lineLength++;\n\n if (!(i > 0 && col > 0 && data[i - 1])) {\n path += newRow\n ? svgCmd('M', col + margin, 0.5 + row + margin)\n : svgCmd('m', moveBy, 0);\n\n moveBy = 0;\n newRow = false;\n }\n\n if (!(col + 1 < size && data[i + 1])) {\n path += svgCmd('h', lineLength);\n lineLength = 0;\n }\n } else {\n moveBy++;\n }\n }\n\n return path\n}\n\nexports.render = function render (qrData, options, cb) {\n var opts = Utils.getOptions(options);\n var size = qrData.modules.size;\n var data = qrData.modules.data;\n var qrcodesize = size + opts.margin * 2;\n\n var bg = !opts.color.light.a\n ? ''\n : '';\n\n var path =\n '';\n\n var viewBox = 'viewBox=\"' + '0 0 ' + qrcodesize + ' ' + qrcodesize + '\"';\n\n var width = !opts.width ? '' : 'width=\"' + opts.width + '\" height=\"' + opts.width + '\" ';\n\n var svgTag = '' + bg + path + '\\n';\n\n if (typeof cb === 'function') {\n cb(null, svgTag);\n }\n\n return svgTag\n};\n\n},{\"./utils\":26}],26:[function(require,module,exports){\nfunction hex2rgba (hex) {\n if (typeof hex !== 'string') {\n throw new Error('Color should be defined as hex string')\n }\n\n var hexCode = hex.slice().replace('#', '').split('');\n if (hexCode.length < 3 || hexCode.length === 5 || hexCode.length > 8) {\n throw new Error('Invalid hex color: ' + hex)\n }\n\n // Convert from short to long form (fff -> ffffff)\n if (hexCode.length === 3 || hexCode.length === 4) {\n hexCode = Array.prototype.concat.apply([], hexCode.map(function (c) {\n return [c, c]\n }));\n }\n\n // Add default alpha value\n if (hexCode.length === 6) hexCode.push('F', 'F');\n\n var hexValue = parseInt(hexCode.join(''), 16);\n\n return {\n r: (hexValue >> 24) & 255,\n g: (hexValue >> 16) & 255,\n b: (hexValue >> 8) & 255,\n a: hexValue & 255,\n hex: '#' + hexCode.slice(0, 6).join('')\n }\n}\n\nexports.getOptions = function getOptions (options) {\n if (!options) options = {};\n if (!options.color) options.color = {};\n\n var margin = typeof options.margin === 'undefined' ||\n options.margin === null ||\n options.margin < 0 ? 4 : options.margin;\n\n var width = options.width && options.width >= 21 ? options.width : undefined;\n var scale = options.scale || 4;\n\n return {\n width: width,\n scale: width ? 4 : scale,\n margin: margin,\n color: {\n dark: hex2rgba(options.color.dark || '#000000ff'),\n light: hex2rgba(options.color.light || '#ffffffff')\n },\n type: options.type,\n rendererOpts: options.rendererOpts || {}\n }\n};\n\nexports.getScale = function getScale (qrSize, opts) {\n return opts.width && opts.width >= qrSize + opts.margin * 2\n ? opts.width / (qrSize + opts.margin * 2)\n : opts.scale\n};\n\nexports.getImageWidth = function getImageWidth (qrSize, opts) {\n var scale = exports.getScale(qrSize, opts);\n return Math.floor((qrSize + opts.margin * 2) * scale)\n};\n\nexports.qrToImageData = function qrToImageData (imgData, qr, opts) {\n var size = qr.modules.size;\n var data = qr.modules.data;\n var scale = exports.getScale(size, opts);\n var symbolSize = Math.floor((size + opts.margin * 2) * scale);\n var scaledMargin = opts.margin * scale;\n var palette = [opts.color.light, opts.color.dark];\n\n for (var i = 0; i < symbolSize; i++) {\n for (var j = 0; j < symbolSize; j++) {\n var posDst = (i * symbolSize + j) * 4;\n var pxColor = opts.color.light;\n\n if (i >= scaledMargin && j >= scaledMargin &&\n i < symbolSize - scaledMargin && j < symbolSize - scaledMargin) {\n var iSrc = Math.floor((i - scaledMargin) / scale);\n var jSrc = Math.floor((j - scaledMargin) / scale);\n pxColor = palette[data[iSrc * size + jSrc] ? 1 : 0];\n }\n\n imgData[posDst++] = pxColor.r;\n imgData[posDst++] = pxColor.g;\n imgData[posDst++] = pxColor.b;\n imgData[posDst] = pxColor.a;\n }\n }\n};\n\n},{}],27:[function(require,module,exports){\n\nvar isArray = require('isarray');\n\nfunction typedArraySupport () {\n // Can typed array instances be augmented?\n try {\n var arr = new Uint8Array(1);\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }};\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\nvar K_MAX_LENGTH = Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff;\n\nfunction Buffer (arg, offset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, offset, length)\n }\n\n if (typeof arg === 'number') {\n return allocUnsafe(this, arg)\n }\n\n return from(this, arg, offset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype;\n Buffer.__proto__ = Uint8Array;\n\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true,\n enumerable: false,\n writable: false\n });\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\nfunction createBuffer (that, length) {\n var buf;\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n buf = new Uint8Array(length);\n buf.__proto__ = Buffer.prototype;\n } else {\n // Fallback: Return an object instance of the Buffer class\n buf = that;\n if (buf === null) {\n buf = new Buffer(length);\n }\n buf.length = length;\n }\n\n return buf\n}\n\nfunction allocUnsafe (that, size) {\n var buf = createBuffer(that, size < 0 ? 0 : checked(size) | 0);\n\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n buf[i] = 0;\n }\n }\n\n return buf\n}\n\nfunction fromString (that, string) {\n var length = byteLength(string) | 0;\n var buf = createBuffer(that, length);\n\n var actual = buf.write(string);\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual);\n }\n\n return buf\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0;\n var buf = createBuffer(that, length);\n for (var i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255;\n }\n return buf\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n var buf;\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array);\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset);\n } else {\n buf = new Uint8Array(array, byteOffset, length);\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n buf.__proto__ = Buffer.prototype;\n } else {\n // Fallback: Return an object instance of the Buffer class\n buf = fromArrayLike(that, buf);\n }\n\n return buf\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0;\n var buf = createBuffer(that, len);\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len);\n return buf\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity;\n var codePoint;\n var length = string.length;\n var leadSurrogate = null;\n var bytes = [];\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i);\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint;\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n leadSurrogate = codePoint;\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n }\n\n leadSurrogate = null;\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint);\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n );\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n );\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n );\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction byteLength (string) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string;\n }\n\n var len = string.length;\n if (len === 0) return 0\n\n return utf8ToBytes(string).length\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i];\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction from (that, value, offset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, offset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, offset)\n }\n\n return fromObject(that, value)\n}\n\nBuffer.prototype.write = function write (string, offset, length) {\n // Buffer#write(string)\n if (offset === undefined) {\n length = this.length;\n offset = 0;\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n length = this.length;\n offset = 0;\n // Buffer#write(string, offset[, length])\n } else if (isFinite(offset)) {\n offset = offset | 0;\n if (isFinite(length)) {\n length = length | 0;\n } else {\n length = undefined;\n }\n }\n\n var remaining = this.length - offset;\n if (length === undefined || length > remaining) length = remaining;\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n return utf8Write(this, string, offset, length)\n};\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length;\n start = ~~start;\n end = end === undefined ? len : ~~end;\n\n if (start < 0) {\n start += len;\n if (start < 0) start = 0;\n } else if (start > len) {\n start = len;\n }\n\n if (end < 0) {\n end += len;\n if (end < 0) end = 0;\n } else if (end > len) {\n end = len;\n }\n\n if (end < start) end = start;\n\n var newBuf;\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end);\n // Return an augmented `Uint8Array` instance\n newBuf.__proto__ = Buffer.prototype;\n } else {\n var sliceLen = end - start;\n newBuf = new Buffer(sliceLen, undefined);\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start];\n }\n }\n\n return newBuf\n};\n\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0;\n if (!end && end !== 0) end = this.length;\n if (targetStart >= target.length) targetStart = target.length;\n if (!targetStart) targetStart = 0;\n if (end > 0 && end < start) end = start;\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length;\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start;\n }\n\n var len = end - start;\n var i;\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start];\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start];\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n );\n }\n\n return len\n};\n\nBuffer.prototype.fill = function fill (val, start, end) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n start = 0;\n end = this.length;\n } else if (typeof end === 'string') {\n end = this.length;\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0);\n if (code < 256) {\n val = code;\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255;\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0;\n end = end === undefined ? this.length : end >>> 0;\n\n if (!val) val = 0;\n\n var i;\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val;\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : new Buffer(val);\n var len = bytes.length;\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len];\n }\n }\n\n return this\n};\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return createBuffer(null, 0)\n }\n\n var i;\n if (length === undefined) {\n length = 0;\n for (i = 0; i < list.length; ++i) {\n length += list[i].length;\n }\n }\n\n var buffer = allocUnsafe(null, length);\n var pos = 0;\n for (i = 0; i < list.length; ++i) {\n var buf = list[i];\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos);\n pos += buf.length;\n }\n return buffer\n};\n\nBuffer.byteLength = byteLength;\n\nBuffer.prototype._isBuffer = true;\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n};\n\nmodule.exports = Buffer;\n\n},{\"isarray\":30}],28:[function(require,module,exports){\n\nvar G = require('window-or-global');\n\nmodule.exports = function() {\n return (\n typeof G.Promise === 'function' &&\n typeof G.Promise.prototype.then === 'function'\n )\n};\n\n},{\"window-or-global\":31}],29:[function(require,module,exports){\n\n/******************************************************************************\n * Created 2008-08-19.\n *\n * Dijkstra path-finding functions. Adapted from the Dijkstar Python project.\n *\n * Copyright (C) 2008\n * Wyatt Baldwin \n * All rights reserved\n *\n * Licensed under the MIT license.\n *\n * http://www.opensource.org/licenses/mit-license.php\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n *****************************************************************************/\nvar dijkstra = {\n single_source_shortest_paths: function(graph, s, d) {\n // Predecessor map for each node that has been encountered.\n // node ID => predecessor node ID\n var predecessors = {};\n\n // Costs of shortest paths from s to all nodes encountered.\n // node ID => cost\n var costs = {};\n costs[s] = 0;\n\n // Costs of shortest paths from s to all nodes encountered; differs from\n // `costs` in that it provides easy access to the node that currently has\n // the known shortest path from s.\n // XXX: Do we actually need both `costs` and `open`?\n var open = dijkstra.PriorityQueue.make();\n open.push(s, 0);\n\n var closest,\n u, v,\n cost_of_s_to_u,\n adjacent_nodes,\n cost_of_e,\n cost_of_s_to_u_plus_cost_of_e,\n cost_of_s_to_v,\n first_visit;\n while (!open.empty()) {\n // In the nodes remaining in graph that have a known cost from s,\n // find the node, u, that currently has the shortest path from s.\n closest = open.pop();\n u = closest.value;\n cost_of_s_to_u = closest.cost;\n\n // Get nodes adjacent to u...\n adjacent_nodes = graph[u] || {};\n\n // ...and explore the edges that connect u to those nodes, updating\n // the cost of the shortest paths to any or all of those nodes as\n // necessary. v is the node across the current edge from u.\n for (v in adjacent_nodes) {\n if (adjacent_nodes.hasOwnProperty(v)) {\n // Get the cost of the edge running from u to v.\n cost_of_e = adjacent_nodes[v];\n\n // Cost of s to u plus the cost of u to v across e--this is *a*\n // cost from s to v that may or may not be less than the current\n // known cost to v.\n cost_of_s_to_u_plus_cost_of_e = cost_of_s_to_u + cost_of_e;\n\n // If we haven't visited v yet OR if the current known cost from s to\n // v is greater than the new cost we just found (cost of s to u plus\n // cost of u to v across e), update v's cost in the cost list and\n // update v's predecessor in the predecessor list (it's now u).\n cost_of_s_to_v = costs[v];\n first_visit = (typeof costs[v] === 'undefined');\n if (first_visit || cost_of_s_to_v > cost_of_s_to_u_plus_cost_of_e) {\n costs[v] = cost_of_s_to_u_plus_cost_of_e;\n open.push(v, cost_of_s_to_u_plus_cost_of_e);\n predecessors[v] = u;\n }\n }\n }\n }\n\n if (typeof d !== 'undefined' && typeof costs[d] === 'undefined') {\n var msg = ['Could not find a path from ', s, ' to ', d, '.'].join('');\n throw new Error(msg);\n }\n\n return predecessors;\n },\n\n extract_shortest_path_from_predecessor_list: function(predecessors, d) {\n var nodes = [];\n var u = d;\n var predecessor;\n while (u) {\n nodes.push(u);\n predecessor = predecessors[u];\n u = predecessors[u];\n }\n nodes.reverse();\n return nodes;\n },\n\n find_path: function(graph, s, d) {\n var predecessors = dijkstra.single_source_shortest_paths(graph, s, d);\n return dijkstra.extract_shortest_path_from_predecessor_list(\n predecessors, d);\n },\n\n /**\n * A very naive priority queue implementation.\n */\n PriorityQueue: {\n make: function (opts) {\n var T = dijkstra.PriorityQueue,\n t = {},\n key;\n opts = opts || {};\n for (key in T) {\n if (T.hasOwnProperty(key)) {\n t[key] = T[key];\n }\n }\n t.queue = [];\n t.sorter = opts.sorter || T.default_sorter;\n return t;\n },\n\n default_sorter: function (a, b) {\n return a.cost - b.cost;\n },\n\n /**\n * Add a new item to the queue and ensure the highest priority element\n * is at the front of the queue.\n */\n push: function (value, cost) {\n var item = {value: value, cost: cost};\n this.queue.push(item);\n this.queue.sort(this.sorter);\n },\n\n /**\n * Return the highest priority element in the queue.\n */\n pop: function () {\n return this.queue.shift();\n },\n\n empty: function () {\n return this.queue.length === 0;\n }\n }\n};\n\n\n// node.js module exports\nif (typeof module !== 'undefined') {\n module.exports = dijkstra;\n}\n\n},{}],30:[function(require,module,exports){\nvar toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n\n},{}],31:[function(require,module,exports){\n(function (global){\nmodule.exports = (typeof self === 'object' && self.self === self && self) ||\n (typeof global === 'object' && global.global === global && global) ||\n this;\n\n}).call(this,typeof commonjsGlobal !== \"undefined\" ? commonjsGlobal : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {});\n\n},{}]},{},[23])(23)\n});\n\n\n});\n\nvar index = {\n name: 'qrcode',\n props: {\n /**\n * The options for the QR code generator.\n * {@link https://github.com/soldair/node-qrcode#qr-code-options}\n */\n options: Object,\n\n /**\n * The tag name of the component's root element.\n */\n tag: {\n type: String,\n default: 'canvas'\n },\n\n /**\n * The value of the QR code.\n */\n value: null\n },\n render: function render(createElement) {\n return createElement(this.tag, this.$slots.default);\n },\n watch: {\n $props: {\n deep: true,\n immediate: true,\n handler: function handler() {\n if (this.$el) {\n this.generate();\n }\n }\n }\n },\n methods: {\n /**\n * Generate QR code.\n */\n generate: function generate() {\n var _this = this;\n\n var options = this.options,\n tag = this.tag;\n var value = String(this.value);\n\n if (tag === 'canvas') {\n qrcode.toCanvas(this.$el, value, options, function (error) {\n if (error) {\n throw error;\n }\n });\n } else if (tag === 'img') {\n qrcode.toDataURL(value, options, function (error, url) {\n if (error) {\n throw error;\n }\n\n _this.$el.src = url;\n });\n } else {\n qrcode.toString(value, options, function (error, string) {\n if (error) {\n throw error;\n }\n\n _this.$el.innerHTML = string;\n });\n }\n }\n },\n mounted: function mounted() {\n this.generate();\n }\n};\n\nexport default index;\n","/*!\n * Cropper.js v1.4.3\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2018-10-24T13:07:15.032Z\n */\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nvar IN_BROWSER = typeof window !== 'undefined';\nvar WINDOW = IN_BROWSER ? window : {};\nvar NAMESPACE = 'cropper'; // Actions\n\nvar ACTION_ALL = 'all';\nvar ACTION_CROP = 'crop';\nvar ACTION_MOVE = 'move';\nvar ACTION_ZOOM = 'zoom';\nvar ACTION_EAST = 'e';\nvar ACTION_WEST = 'w';\nvar ACTION_SOUTH = 's';\nvar ACTION_NORTH = 'n';\nvar ACTION_NORTH_EAST = 'ne';\nvar ACTION_NORTH_WEST = 'nw';\nvar ACTION_SOUTH_EAST = 'se';\nvar ACTION_SOUTH_WEST = 'sw'; // Classes\n\nvar CLASS_CROP = \"\".concat(NAMESPACE, \"-crop\");\nvar CLASS_DISABLED = \"\".concat(NAMESPACE, \"-disabled\");\nvar CLASS_HIDDEN = \"\".concat(NAMESPACE, \"-hidden\");\nvar CLASS_HIDE = \"\".concat(NAMESPACE, \"-hide\");\nvar CLASS_INVISIBLE = \"\".concat(NAMESPACE, \"-invisible\");\nvar CLASS_MODAL = \"\".concat(NAMESPACE, \"-modal\");\nvar CLASS_MOVE = \"\".concat(NAMESPACE, \"-move\"); // Data keys\n\nvar DATA_ACTION = \"\".concat(NAMESPACE, \"Action\");\nvar DATA_PREVIEW = \"\".concat(NAMESPACE, \"Preview\"); // Drag modes\n\nvar DRAG_MODE_CROP = 'crop';\nvar DRAG_MODE_MOVE = 'move';\nvar DRAG_MODE_NONE = 'none'; // Events\n\nvar EVENT_CROP = 'crop';\nvar EVENT_CROP_END = 'cropend';\nvar EVENT_CROP_MOVE = 'cropmove';\nvar EVENT_CROP_START = 'cropstart';\nvar EVENT_DBLCLICK = 'dblclick';\nvar EVENT_POINTER_DOWN = WINDOW.PointerEvent ? 'pointerdown' : 'touchstart mousedown';\nvar EVENT_POINTER_MOVE = WINDOW.PointerEvent ? 'pointermove' : 'touchmove mousemove';\nvar EVENT_POINTER_UP = WINDOW.PointerEvent ? 'pointerup pointercancel' : 'touchend touchcancel mouseup';\nvar EVENT_READY = 'ready';\nvar EVENT_RESIZE = 'resize';\nvar EVENT_WHEEL = 'wheel mousewheel DOMMouseScroll';\nvar EVENT_ZOOM = 'zoom'; // Mime types\n\nvar MIME_TYPE_JPEG = 'image/jpeg'; // RegExps\n\nvar REGEXP_ACTIONS = /^(?:e|w|s|n|se|sw|ne|nw|all|crop|move|zoom)$/;\nvar REGEXP_DATA_URL = /^data:/;\nvar REGEXP_DATA_URL_JPEG = /^data:image\\/jpeg;base64,/;\nvar REGEXP_TAG_NAME = /^(?:img|canvas)$/i;\n\nvar DEFAULTS = {\n // Define the view mode of the cropper\n viewMode: 0,\n // 0, 1, 2, 3\n // Define the dragging mode of the cropper\n dragMode: DRAG_MODE_CROP,\n // 'crop', 'move' or 'none'\n // Define the initial aspect ratio of the crop box\n initialAspectRatio: NaN,\n // Define the aspect ratio of the crop box\n aspectRatio: NaN,\n // An object with the previous cropping result data\n data: null,\n // A selector for adding extra containers to preview\n preview: '',\n // Re-render the cropper when resize the window\n responsive: true,\n // Restore the cropped area after resize the window\n restore: true,\n // Check if the current image is a cross-origin image\n checkCrossOrigin: true,\n // Check the current image's Exif Orientation information\n checkOrientation: true,\n // Show the black modal\n modal: true,\n // Show the dashed lines for guiding\n guides: true,\n // Show the center indicator for guiding\n center: true,\n // Show the white modal to highlight the crop box\n highlight: true,\n // Show the grid background\n background: true,\n // Enable to crop the image automatically when initialize\n autoCrop: true,\n // Define the percentage of automatic cropping area when initializes\n autoCropArea: 0.8,\n // Enable to move the image\n movable: true,\n // Enable to rotate the image\n rotatable: true,\n // Enable to scale the image\n scalable: true,\n // Enable to zoom the image\n zoomable: true,\n // Enable to zoom the image by dragging touch\n zoomOnTouch: true,\n // Enable to zoom the image by wheeling mouse\n zoomOnWheel: true,\n // Define zoom ratio when zoom the image by wheeling mouse\n wheelZoomRatio: 0.1,\n // Enable to move the crop box\n cropBoxMovable: true,\n // Enable to resize the crop box\n cropBoxResizable: true,\n // Toggle drag mode between \"crop\" and \"move\" when click twice on the cropper\n toggleDragModeOnDblclick: true,\n // Size limitation\n minCanvasWidth: 0,\n minCanvasHeight: 0,\n minCropBoxWidth: 0,\n minCropBoxHeight: 0,\n minContainerWidth: 200,\n minContainerHeight: 100,\n // Shortcuts of events\n ready: null,\n cropstart: null,\n cropmove: null,\n cropend: null,\n crop: null,\n zoom: null\n};\n\nvar TEMPLATE = '
' + '
' + '
' + '
' + '
' + '
' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '
' + '
';\n\n/**\n * Check if the given value is not a number.\n */\n\nvar isNaN = Number.isNaN || WINDOW.isNaN;\n/**\n * Check if the given value is a number.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a number, else `false`.\n */\n\nfunction isNumber(value) {\n return typeof value === 'number' && !isNaN(value);\n}\n/**\n * Check if the given value is undefined.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is undefined, else `false`.\n */\n\nfunction isUndefined(value) {\n return typeof value === 'undefined';\n}\n/**\n * Check if the given value is an object.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is an object, else `false`.\n */\n\nfunction isObject(value) {\n return _typeof(value) === 'object' && value !== null;\n}\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n/**\n * Check if the given value is a plain object.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a plain object, else `false`.\n */\n\nfunction isPlainObject(value) {\n if (!isObject(value)) {\n return false;\n }\n\n try {\n var _constructor = value.constructor;\n var prototype = _constructor.prototype;\n return _constructor && prototype && hasOwnProperty.call(prototype, 'isPrototypeOf');\n } catch (e) {\n return false;\n }\n}\n/**\n * Check if the given value is a function.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a function, else `false`.\n */\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n/**\n * Iterate the given data.\n * @param {*} data - The data to iterate.\n * @param {Function} callback - The process function for each element.\n * @returns {*} The original data.\n */\n\nfunction forEach(data, callback) {\n if (data && isFunction(callback)) {\n if (Array.isArray(data) || isNumber(data.length)\n /* array-like */\n ) {\n var length = data.length;\n var i;\n\n for (i = 0; i < length; i += 1) {\n if (callback.call(data, data[i], i, data) === false) {\n break;\n }\n }\n } else if (isObject(data)) {\n Object.keys(data).forEach(function (key) {\n callback.call(data, data[key], key, data);\n });\n }\n }\n\n return data;\n}\n/**\n * Extend the given object.\n * @param {*} obj - The object to be extended.\n * @param {*} args - The rest objects which will be merged to the first object.\n * @returns {Object} The extended object.\n */\n\nvar assign = Object.assign || function assign(obj) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (isObject(obj) && args.length > 0) {\n args.forEach(function (arg) {\n if (isObject(arg)) {\n Object.keys(arg).forEach(function (key) {\n obj[key] = arg[key];\n });\n }\n });\n }\n\n return obj;\n};\nvar REGEXP_DECIMALS = /\\.\\d*(?:0|9){12}\\d*$/;\n/**\n * Normalize decimal number.\n * Check out {@link http://0.30000000000000004.com/}\n * @param {number} value - The value to normalize.\n * @param {number} [times=100000000000] - The times for normalizing.\n * @returns {number} Returns the normalized number.\n */\n\nfunction normalizeDecimalNumber(value) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100000000000;\n return REGEXP_DECIMALS.test(value) ? Math.round(value * times) / times : value;\n}\nvar REGEXP_SUFFIX = /^(?:width|height|left|top|marginLeft|marginTop)$/;\n/**\n * Apply styles to the given element.\n * @param {Element} element - The target element.\n * @param {Object} styles - The styles for applying.\n */\n\nfunction setStyle(element, styles) {\n var style = element.style;\n forEach(styles, function (value, property) {\n if (REGEXP_SUFFIX.test(property) && isNumber(value)) {\n value += 'px';\n }\n\n style[property] = value;\n });\n}\n/**\n * Check if the given element has a special class.\n * @param {Element} element - The element to check.\n * @param {string} value - The class to search.\n * @returns {boolean} Returns `true` if the special class was found.\n */\n\nfunction hasClass(element, value) {\n return element.classList ? element.classList.contains(value) : element.className.indexOf(value) > -1;\n}\n/**\n * Add classes to the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be added.\n */\n\nfunction addClass(element, value) {\n if (!value) {\n return;\n }\n\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n addClass(elem, value);\n });\n return;\n }\n\n if (element.classList) {\n element.classList.add(value);\n return;\n }\n\n var className = element.className.trim();\n\n if (!className) {\n element.className = value;\n } else if (className.indexOf(value) < 0) {\n element.className = \"\".concat(className, \" \").concat(value);\n }\n}\n/**\n * Remove classes from the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be removed.\n */\n\nfunction removeClass(element, value) {\n if (!value) {\n return;\n }\n\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n removeClass(elem, value);\n });\n return;\n }\n\n if (element.classList) {\n element.classList.remove(value);\n return;\n }\n\n if (element.className.indexOf(value) >= 0) {\n element.className = element.className.replace(value, '');\n }\n}\n/**\n * Add or remove classes from the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be toggled.\n * @param {boolean} added - Add only.\n */\n\nfunction toggleClass(element, value, added) {\n if (!value) {\n return;\n }\n\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n toggleClass(elem, value, added);\n });\n return;\n } // IE10-11 doesn't support the second parameter of `classList.toggle`\n\n\n if (added) {\n addClass(element, value);\n } else {\n removeClass(element, value);\n }\n}\nvar REGEXP_HYPHENATE = /([a-z\\d])([A-Z])/g;\n/**\n * Transform the given string from camelCase to kebab-case\n * @param {string} value - The value to transform.\n * @returns {string} The transformed value.\n */\n\nfunction hyphenate(value) {\n return value.replace(REGEXP_HYPHENATE, '$1-$2').toLowerCase();\n}\n/**\n * Get data from the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to get.\n * @returns {string} The data value.\n */\n\nfunction getData(element, name) {\n if (isObject(element[name])) {\n return element[name];\n }\n\n if (element.dataset) {\n return element.dataset[name];\n }\n\n return element.getAttribute(\"data-\".concat(hyphenate(name)));\n}\n/**\n * Set data to the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to set.\n * @param {string} data - The data value.\n */\n\nfunction setData(element, name, data) {\n if (isObject(data)) {\n element[name] = data;\n } else if (element.dataset) {\n element.dataset[name] = data;\n } else {\n element.setAttribute(\"data-\".concat(hyphenate(name)), data);\n }\n}\n/**\n * Remove data from the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to remove.\n */\n\nfunction removeData(element, name) {\n if (isObject(element[name])) {\n try {\n delete element[name];\n } catch (e) {\n element[name] = undefined;\n }\n } else if (element.dataset) {\n // #128 Safari not allows to delete dataset property\n try {\n delete element.dataset[name];\n } catch (e) {\n element.dataset[name] = undefined;\n }\n } else {\n element.removeAttribute(\"data-\".concat(hyphenate(name)));\n }\n}\nvar REGEXP_SPACES = /\\s\\s*/;\n\nvar onceSupported = function () {\n var supported = false;\n\n if (IN_BROWSER) {\n var once = false;\n\n var listener = function listener() {};\n\n var options = Object.defineProperty({}, 'once', {\n get: function get() {\n supported = true;\n return once;\n },\n\n /**\n * This setter can fix a `TypeError` in strict mode\n * {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Getter_only}\n * @param {boolean} value - The value to set\n */\n set: function set(value) {\n once = value;\n }\n });\n WINDOW.addEventListener('test', listener, options);\n WINDOW.removeEventListener('test', listener, options);\n }\n\n return supported;\n}();\n/**\n * Remove event listener from the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Function} listener - The event listener.\n * @param {Object} options - The event options.\n */\n\n\nfunction removeListener(element, type, listener) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var handler = listener;\n type.trim().split(REGEXP_SPACES).forEach(function (event) {\n if (!onceSupported) {\n var listeners = element.listeners;\n\n if (listeners && listeners[event] && listeners[event][listener]) {\n handler = listeners[event][listener];\n delete listeners[event][listener];\n\n if (Object.keys(listeners[event]).length === 0) {\n delete listeners[event];\n }\n\n if (Object.keys(listeners).length === 0) {\n delete element.listeners;\n }\n }\n }\n\n element.removeEventListener(event, handler, options);\n });\n}\n/**\n * Add event listener to the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Function} listener - The event listener.\n * @param {Object} options - The event options.\n */\n\nfunction addListener(element, type, listener) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var _handler = listener;\n type.trim().split(REGEXP_SPACES).forEach(function (event) {\n if (options.once && !onceSupported) {\n var _element$listeners = element.listeners,\n listeners = _element$listeners === void 0 ? {} : _element$listeners;\n\n _handler = function handler() {\n delete listeners[event][listener];\n element.removeEventListener(event, _handler, options);\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n listener.apply(element, args);\n };\n\n if (!listeners[event]) {\n listeners[event] = {};\n }\n\n if (listeners[event][listener]) {\n element.removeEventListener(event, listeners[event][listener], options);\n }\n\n listeners[event][listener] = _handler;\n element.listeners = listeners;\n }\n\n element.addEventListener(event, _handler, options);\n });\n}\n/**\n * Dispatch event on the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Object} data - The additional event data.\n * @returns {boolean} Indicate if the event is default prevented or not.\n */\n\nfunction dispatchEvent(element, type, data) {\n var event; // Event and CustomEvent on IE9-11 are global objects, not constructors\n\n if (isFunction(Event) && isFunction(CustomEvent)) {\n event = new CustomEvent(type, {\n detail: data,\n bubbles: true,\n cancelable: true\n });\n } else {\n event = document.createEvent('CustomEvent');\n event.initCustomEvent(type, true, true, data);\n }\n\n return element.dispatchEvent(event);\n}\n/**\n * Get the offset base on the document.\n * @param {Element} element - The target element.\n * @returns {Object} The offset data.\n */\n\nfunction getOffset(element) {\n var box = element.getBoundingClientRect();\n return {\n left: box.left + (window.pageXOffset - document.documentElement.clientLeft),\n top: box.top + (window.pageYOffset - document.documentElement.clientTop)\n };\n}\nvar location = WINDOW.location;\nvar REGEXP_ORIGINS = /^(https?:)\\/\\/([^:/?#]+):?(\\d*)/i;\n/**\n * Check if the given URL is a cross origin URL.\n * @param {string} url - The target URL.\n * @returns {boolean} Returns `true` if the given URL is a cross origin URL, else `false`.\n */\n\nfunction isCrossOriginURL(url) {\n var parts = url.match(REGEXP_ORIGINS);\n return parts && (parts[1] !== location.protocol || parts[2] !== location.hostname || parts[3] !== location.port);\n}\n/**\n * Add timestamp to the given URL.\n * @param {string} url - The target URL.\n * @returns {string} The result URL.\n */\n\nfunction addTimestamp(url) {\n var timestamp = \"timestamp=\".concat(new Date().getTime());\n return url + (url.indexOf('?') === -1 ? '?' : '&') + timestamp;\n}\n/**\n * Get transforms base on the given object.\n * @param {Object} obj - The target object.\n * @returns {string} A string contains transform values.\n */\n\nfunction getTransforms(_ref) {\n var rotate = _ref.rotate,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY,\n translateX = _ref.translateX,\n translateY = _ref.translateY;\n var values = [];\n\n if (isNumber(translateX) && translateX !== 0) {\n values.push(\"translateX(\".concat(translateX, \"px)\"));\n }\n\n if (isNumber(translateY) && translateY !== 0) {\n values.push(\"translateY(\".concat(translateY, \"px)\"));\n } // Rotate should come first before scale to match orientation transform\n\n\n if (isNumber(rotate) && rotate !== 0) {\n values.push(\"rotate(\".concat(rotate, \"deg)\"));\n }\n\n if (isNumber(scaleX) && scaleX !== 1) {\n values.push(\"scaleX(\".concat(scaleX, \")\"));\n }\n\n if (isNumber(scaleY) && scaleY !== 1) {\n values.push(\"scaleY(\".concat(scaleY, \")\"));\n }\n\n var transform = values.length ? values.join(' ') : 'none';\n return {\n WebkitTransform: transform,\n msTransform: transform,\n transform: transform\n };\n}\n/**\n * Get the max ratio of a group of pointers.\n * @param {string} pointers - The target pointers.\n * @returns {number} The result ratio.\n */\n\nfunction getMaxZoomRatio(pointers) {\n var pointers2 = assign({}, pointers);\n var ratios = [];\n forEach(pointers, function (pointer, pointerId) {\n delete pointers2[pointerId];\n forEach(pointers2, function (pointer2) {\n var x1 = Math.abs(pointer.startX - pointer2.startX);\n var y1 = Math.abs(pointer.startY - pointer2.startY);\n var x2 = Math.abs(pointer.endX - pointer2.endX);\n var y2 = Math.abs(pointer.endY - pointer2.endY);\n var z1 = Math.sqrt(x1 * x1 + y1 * y1);\n var z2 = Math.sqrt(x2 * x2 + y2 * y2);\n var ratio = (z2 - z1) / z1;\n ratios.push(ratio);\n });\n });\n ratios.sort(function (a, b) {\n return Math.abs(a) < Math.abs(b);\n });\n return ratios[0];\n}\n/**\n * Get a pointer from an event object.\n * @param {Object} event - The target event object.\n * @param {boolean} endOnly - Indicates if only returns the end point coordinate or not.\n * @returns {Object} The result pointer contains start and/or end point coordinates.\n */\n\nfunction getPointer(_ref2, endOnly) {\n var pageX = _ref2.pageX,\n pageY = _ref2.pageY;\n var end = {\n endX: pageX,\n endY: pageY\n };\n return endOnly ? end : assign({\n startX: pageX,\n startY: pageY\n }, end);\n}\n/**\n * Get the center point coordinate of a group of pointers.\n * @param {Object} pointers - The target pointers.\n * @returns {Object} The center point coordinate.\n */\n\nfunction getPointersCenter(pointers) {\n var pageX = 0;\n var pageY = 0;\n var count = 0;\n forEach(pointers, function (_ref3) {\n var startX = _ref3.startX,\n startY = _ref3.startY;\n pageX += startX;\n pageY += startY;\n count += 1;\n });\n pageX /= count;\n pageY /= count;\n return {\n pageX: pageX,\n pageY: pageY\n };\n}\n/**\n * Check if the given value is a finite number.\n */\n\nvar isFinite = Number.isFinite || WINDOW.isFinite;\n/**\n * Get the max sizes in a rectangle under the given aspect ratio.\n * @param {Object} data - The original sizes.\n * @param {string} [type='contain'] - The adjust type.\n * @returns {Object} The result sizes.\n */\n\nfunction getAdjustedSizes(_ref4) // or 'cover'\n{\n var aspectRatio = _ref4.aspectRatio,\n height = _ref4.height,\n width = _ref4.width;\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'contain';\n\n var isValidNumber = function isValidNumber(value) {\n return isFinite(value) && value > 0;\n };\n\n if (isValidNumber(width) && isValidNumber(height)) {\n var adjustedWidth = height * aspectRatio;\n\n if (type === 'contain' && adjustedWidth > width || type === 'cover' && adjustedWidth < width) {\n height = width / aspectRatio;\n } else {\n width = height * aspectRatio;\n }\n } else if (isValidNumber(width)) {\n height = width / aspectRatio;\n } else if (isValidNumber(height)) {\n width = height * aspectRatio;\n }\n\n return {\n width: width,\n height: height\n };\n}\n/**\n * Get the new sizes of a rectangle after rotated.\n * @param {Object} data - The original sizes.\n * @returns {Object} The result sizes.\n */\n\nfunction getRotatedSizes(_ref5) {\n var width = _ref5.width,\n height = _ref5.height,\n degree = _ref5.degree;\n degree = Math.abs(degree) % 180;\n\n if (degree === 90) {\n return {\n width: height,\n height: width\n };\n }\n\n var arc = degree % 90 * Math.PI / 180;\n var sinArc = Math.sin(arc);\n var cosArc = Math.cos(arc);\n var newWidth = width * cosArc + height * sinArc;\n var newHeight = width * sinArc + height * cosArc;\n return degree > 90 ? {\n width: newHeight,\n height: newWidth\n } : {\n width: newWidth,\n height: newHeight\n };\n}\n/**\n * Get a canvas which drew the given image.\n * @param {HTMLImageElement} image - The image for drawing.\n * @param {Object} imageData - The image data.\n * @param {Object} canvasData - The canvas data.\n * @param {Object} options - The options.\n * @returns {HTMLCanvasElement} The result canvas.\n */\n\nfunction getSourceCanvas(image, _ref6, _ref7, _ref8) {\n var imageAspectRatio = _ref6.aspectRatio,\n imageNaturalWidth = _ref6.naturalWidth,\n imageNaturalHeight = _ref6.naturalHeight,\n _ref6$rotate = _ref6.rotate,\n rotate = _ref6$rotate === void 0 ? 0 : _ref6$rotate,\n _ref6$scaleX = _ref6.scaleX,\n scaleX = _ref6$scaleX === void 0 ? 1 : _ref6$scaleX,\n _ref6$scaleY = _ref6.scaleY,\n scaleY = _ref6$scaleY === void 0 ? 1 : _ref6$scaleY;\n var aspectRatio = _ref7.aspectRatio,\n naturalWidth = _ref7.naturalWidth,\n naturalHeight = _ref7.naturalHeight;\n var _ref8$fillColor = _ref8.fillColor,\n fillColor = _ref8$fillColor === void 0 ? 'transparent' : _ref8$fillColor,\n _ref8$imageSmoothingE = _ref8.imageSmoothingEnabled,\n imageSmoothingEnabled = _ref8$imageSmoothingE === void 0 ? true : _ref8$imageSmoothingE,\n _ref8$imageSmoothingQ = _ref8.imageSmoothingQuality,\n imageSmoothingQuality = _ref8$imageSmoothingQ === void 0 ? 'low' : _ref8$imageSmoothingQ,\n _ref8$maxWidth = _ref8.maxWidth,\n maxWidth = _ref8$maxWidth === void 0 ? Infinity : _ref8$maxWidth,\n _ref8$maxHeight = _ref8.maxHeight,\n maxHeight = _ref8$maxHeight === void 0 ? Infinity : _ref8$maxHeight,\n _ref8$minWidth = _ref8.minWidth,\n minWidth = _ref8$minWidth === void 0 ? 0 : _ref8$minWidth,\n _ref8$minHeight = _ref8.minHeight,\n minHeight = _ref8$minHeight === void 0 ? 0 : _ref8$minHeight;\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n var maxSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: maxWidth,\n height: maxHeight\n });\n var minSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: minWidth,\n height: minHeight\n }, 'cover');\n var width = Math.min(maxSizes.width, Math.max(minSizes.width, naturalWidth));\n var height = Math.min(maxSizes.height, Math.max(minSizes.height, naturalHeight)); // Note: should always use image's natural sizes for drawing as\n // imageData.naturalWidth === canvasData.naturalHeight when rotate % 180 === 90\n\n var destMaxSizes = getAdjustedSizes({\n aspectRatio: imageAspectRatio,\n width: maxWidth,\n height: maxHeight\n });\n var destMinSizes = getAdjustedSizes({\n aspectRatio: imageAspectRatio,\n width: minWidth,\n height: minHeight\n }, 'cover');\n var destWidth = Math.min(destMaxSizes.width, Math.max(destMinSizes.width, imageNaturalWidth));\n var destHeight = Math.min(destMaxSizes.height, Math.max(destMinSizes.height, imageNaturalHeight));\n var params = [-destWidth / 2, -destHeight / 2, destWidth, destHeight];\n canvas.width = normalizeDecimalNumber(width);\n canvas.height = normalizeDecimalNumber(height);\n context.fillStyle = fillColor;\n context.fillRect(0, 0, width, height);\n context.save();\n context.translate(width / 2, height / 2);\n context.rotate(rotate * Math.PI / 180);\n context.scale(scaleX, scaleY);\n context.imageSmoothingEnabled = imageSmoothingEnabled;\n context.imageSmoothingQuality = imageSmoothingQuality;\n context.drawImage.apply(context, [image].concat(_toConsumableArray(params.map(function (param) {\n return Math.floor(normalizeDecimalNumber(param));\n }))));\n context.restore();\n return canvas;\n}\nvar fromCharCode = String.fromCharCode;\n/**\n * Get string from char code in data view.\n * @param {DataView} dataView - The data view for read.\n * @param {number} start - The start index.\n * @param {number} length - The read length.\n * @returns {string} The read result.\n */\n\nfunction getStringFromCharCode(dataView, start, length) {\n var str = '';\n var i;\n length += start;\n\n for (i = start; i < length; i += 1) {\n str += fromCharCode(dataView.getUint8(i));\n }\n\n return str;\n}\nvar REGEXP_DATA_URL_HEAD = /^data:.*,/;\n/**\n * Transform Data URL to array buffer.\n * @param {string} dataURL - The Data URL to transform.\n * @returns {ArrayBuffer} The result array buffer.\n */\n\nfunction dataURLToArrayBuffer(dataURL) {\n var base64 = dataURL.replace(REGEXP_DATA_URL_HEAD, '');\n var binary = atob(base64);\n var arrayBuffer = new ArrayBuffer(binary.length);\n var uint8 = new Uint8Array(arrayBuffer);\n forEach(uint8, function (value, i) {\n uint8[i] = binary.charCodeAt(i);\n });\n return arrayBuffer;\n}\n/**\n * Transform array buffer to Data URL.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to transform.\n * @param {string} mimeType - The mime type of the Data URL.\n * @returns {string} The result Data URL.\n */\n\nfunction arrayBufferToDataURL(arrayBuffer, mimeType) {\n var chunks = [];\n var chunkSize = 8192;\n var uint8 = new Uint8Array(arrayBuffer);\n\n while (uint8.length > 0) {\n chunks.push(fromCharCode.apply(void 0, _toConsumableArray(uint8.subarray(0, chunkSize))));\n uint8 = uint8.subarray(chunkSize);\n }\n\n return \"data:\".concat(mimeType, \";base64,\").concat(btoa(chunks.join('')));\n}\n/**\n * Get orientation value from given array buffer.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to read.\n * @returns {number} The read orientation value.\n */\n\nfunction resetAndGetOrientation(arrayBuffer) {\n var dataView = new DataView(arrayBuffer);\n var orientation; // Ignores range error when the image does not have correct Exif information\n\n try {\n var littleEndian;\n var app1Start;\n var ifdStart; // Only handle JPEG image (start by 0xFFD8)\n\n if (dataView.getUint8(0) === 0xFF && dataView.getUint8(1) === 0xD8) {\n var length = dataView.byteLength;\n var offset = 2;\n\n while (offset + 1 < length) {\n if (dataView.getUint8(offset) === 0xFF && dataView.getUint8(offset + 1) === 0xE1) {\n app1Start = offset;\n break;\n }\n\n offset += 1;\n }\n }\n\n if (app1Start) {\n var exifIDCode = app1Start + 4;\n var tiffOffset = app1Start + 10;\n\n if (getStringFromCharCode(dataView, exifIDCode, 4) === 'Exif') {\n var endianness = dataView.getUint16(tiffOffset);\n littleEndian = endianness === 0x4949;\n\n if (littleEndian || endianness === 0x4D4D\n /* bigEndian */\n ) {\n if (dataView.getUint16(tiffOffset + 2, littleEndian) === 0x002A) {\n var firstIFDOffset = dataView.getUint32(tiffOffset + 4, littleEndian);\n\n if (firstIFDOffset >= 0x00000008) {\n ifdStart = tiffOffset + firstIFDOffset;\n }\n }\n }\n }\n }\n\n if (ifdStart) {\n var _length = dataView.getUint16(ifdStart, littleEndian);\n\n var _offset;\n\n var i;\n\n for (i = 0; i < _length; i += 1) {\n _offset = ifdStart + i * 12 + 2;\n\n if (dataView.getUint16(_offset, littleEndian) === 0x0112\n /* Orientation */\n ) {\n // 8 is the offset of the current tag's value\n _offset += 8; // Get the original orientation value\n\n orientation = dataView.getUint16(_offset, littleEndian); // Override the orientation with its default value\n\n dataView.setUint16(_offset, 1, littleEndian);\n break;\n }\n }\n }\n } catch (e) {\n orientation = 1;\n }\n\n return orientation;\n}\n/**\n * Parse Exif Orientation value.\n * @param {number} orientation - The orientation to parse.\n * @returns {Object} The parsed result.\n */\n\nfunction parseOrientation(orientation) {\n var rotate = 0;\n var scaleX = 1;\n var scaleY = 1;\n\n switch (orientation) {\n // Flip horizontal\n case 2:\n scaleX = -1;\n break;\n // Rotate left 180°\n\n case 3:\n rotate = -180;\n break;\n // Flip vertical\n\n case 4:\n scaleY = -1;\n break;\n // Flip vertical and rotate right 90°\n\n case 5:\n rotate = 90;\n scaleY = -1;\n break;\n // Rotate right 90°\n\n case 6:\n rotate = 90;\n break;\n // Flip horizontal and rotate right 90°\n\n case 7:\n rotate = 90;\n scaleX = -1;\n break;\n // Rotate left 90°\n\n case 8:\n rotate = -90;\n break;\n\n default:\n }\n\n return {\n rotate: rotate,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n\nvar render = {\n render: function render() {\n this.initContainer();\n this.initCanvas();\n this.initCropBox();\n this.renderCanvas();\n\n if (this.cropped) {\n this.renderCropBox();\n }\n },\n initContainer: function initContainer() {\n var element = this.element,\n options = this.options,\n container = this.container,\n cropper = this.cropper;\n addClass(cropper, CLASS_HIDDEN);\n removeClass(element, CLASS_HIDDEN);\n var containerData = {\n width: Math.max(container.offsetWidth, Number(options.minContainerWidth) || 200),\n height: Math.max(container.offsetHeight, Number(options.minContainerHeight) || 100)\n };\n this.containerData = containerData;\n setStyle(cropper, {\n width: containerData.width,\n height: containerData.height\n });\n addClass(element, CLASS_HIDDEN);\n removeClass(cropper, CLASS_HIDDEN);\n },\n // Canvas (image wrapper)\n initCanvas: function initCanvas() {\n var containerData = this.containerData,\n imageData = this.imageData;\n var viewMode = this.options.viewMode;\n var rotated = Math.abs(imageData.rotate) % 180 === 90;\n var naturalWidth = rotated ? imageData.naturalHeight : imageData.naturalWidth;\n var naturalHeight = rotated ? imageData.naturalWidth : imageData.naturalHeight;\n var aspectRatio = naturalWidth / naturalHeight;\n var canvasWidth = containerData.width;\n var canvasHeight = containerData.height;\n\n if (containerData.height * aspectRatio > containerData.width) {\n if (viewMode === 3) {\n canvasWidth = containerData.height * aspectRatio;\n } else {\n canvasHeight = containerData.width / aspectRatio;\n }\n } else if (viewMode === 3) {\n canvasHeight = containerData.width / aspectRatio;\n } else {\n canvasWidth = containerData.height * aspectRatio;\n }\n\n var canvasData = {\n aspectRatio: aspectRatio,\n naturalWidth: naturalWidth,\n naturalHeight: naturalHeight,\n width: canvasWidth,\n height: canvasHeight\n };\n canvasData.left = (containerData.width - canvasWidth) / 2;\n canvasData.top = (containerData.height - canvasHeight) / 2;\n canvasData.oldLeft = canvasData.left;\n canvasData.oldTop = canvasData.top;\n this.canvasData = canvasData;\n this.limited = viewMode === 1 || viewMode === 2;\n this.limitCanvas(true, true);\n this.initialImageData = assign({}, imageData);\n this.initialCanvasData = assign({}, canvasData);\n },\n limitCanvas: function limitCanvas(sizeLimited, positionLimited) {\n var options = this.options,\n containerData = this.containerData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var viewMode = options.viewMode;\n var aspectRatio = canvasData.aspectRatio;\n var cropped = this.cropped && cropBoxData;\n\n if (sizeLimited) {\n var minCanvasWidth = Number(options.minCanvasWidth) || 0;\n var minCanvasHeight = Number(options.minCanvasHeight) || 0;\n\n if (viewMode > 1) {\n minCanvasWidth = Math.max(minCanvasWidth, containerData.width);\n minCanvasHeight = Math.max(minCanvasHeight, containerData.height);\n\n if (viewMode === 3) {\n if (minCanvasHeight * aspectRatio > minCanvasWidth) {\n minCanvasWidth = minCanvasHeight * aspectRatio;\n } else {\n minCanvasHeight = minCanvasWidth / aspectRatio;\n }\n }\n } else if (viewMode > 0) {\n if (minCanvasWidth) {\n minCanvasWidth = Math.max(minCanvasWidth, cropped ? cropBoxData.width : 0);\n } else if (minCanvasHeight) {\n minCanvasHeight = Math.max(minCanvasHeight, cropped ? cropBoxData.height : 0);\n } else if (cropped) {\n minCanvasWidth = cropBoxData.width;\n minCanvasHeight = cropBoxData.height;\n\n if (minCanvasHeight * aspectRatio > minCanvasWidth) {\n minCanvasWidth = minCanvasHeight * aspectRatio;\n } else {\n minCanvasHeight = minCanvasWidth / aspectRatio;\n }\n }\n }\n\n var _getAdjustedSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: minCanvasWidth,\n height: minCanvasHeight\n });\n\n minCanvasWidth = _getAdjustedSizes.width;\n minCanvasHeight = _getAdjustedSizes.height;\n canvasData.minWidth = minCanvasWidth;\n canvasData.minHeight = minCanvasHeight;\n canvasData.maxWidth = Infinity;\n canvasData.maxHeight = Infinity;\n }\n\n if (positionLimited) {\n if (viewMode > (cropped ? 0 : 1)) {\n var newCanvasLeft = containerData.width - canvasData.width;\n var newCanvasTop = containerData.height - canvasData.height;\n canvasData.minLeft = Math.min(0, newCanvasLeft);\n canvasData.minTop = Math.min(0, newCanvasTop);\n canvasData.maxLeft = Math.max(0, newCanvasLeft);\n canvasData.maxTop = Math.max(0, newCanvasTop);\n\n if (cropped && this.limited) {\n canvasData.minLeft = Math.min(cropBoxData.left, cropBoxData.left + (cropBoxData.width - canvasData.width));\n canvasData.minTop = Math.min(cropBoxData.top, cropBoxData.top + (cropBoxData.height - canvasData.height));\n canvasData.maxLeft = cropBoxData.left;\n canvasData.maxTop = cropBoxData.top;\n\n if (viewMode === 2) {\n if (canvasData.width >= containerData.width) {\n canvasData.minLeft = Math.min(0, newCanvasLeft);\n canvasData.maxLeft = Math.max(0, newCanvasLeft);\n }\n\n if (canvasData.height >= containerData.height) {\n canvasData.minTop = Math.min(0, newCanvasTop);\n canvasData.maxTop = Math.max(0, newCanvasTop);\n }\n }\n }\n } else {\n canvasData.minLeft = -canvasData.width;\n canvasData.minTop = -canvasData.height;\n canvasData.maxLeft = containerData.width;\n canvasData.maxTop = containerData.height;\n }\n }\n },\n renderCanvas: function renderCanvas(changed, transformed) {\n var canvasData = this.canvasData,\n imageData = this.imageData;\n\n if (transformed) {\n var _getRotatedSizes = getRotatedSizes({\n width: imageData.naturalWidth * Math.abs(imageData.scaleX || 1),\n height: imageData.naturalHeight * Math.abs(imageData.scaleY || 1),\n degree: imageData.rotate || 0\n }),\n naturalWidth = _getRotatedSizes.width,\n naturalHeight = _getRotatedSizes.height;\n\n var width = canvasData.width * (naturalWidth / canvasData.naturalWidth);\n var height = canvasData.height * (naturalHeight / canvasData.naturalHeight);\n canvasData.left -= (width - canvasData.width) / 2;\n canvasData.top -= (height - canvasData.height) / 2;\n canvasData.width = width;\n canvasData.height = height;\n canvasData.aspectRatio = naturalWidth / naturalHeight;\n canvasData.naturalWidth = naturalWidth;\n canvasData.naturalHeight = naturalHeight;\n this.limitCanvas(true, false);\n }\n\n if (canvasData.width > canvasData.maxWidth || canvasData.width < canvasData.minWidth) {\n canvasData.left = canvasData.oldLeft;\n }\n\n if (canvasData.height > canvasData.maxHeight || canvasData.height < canvasData.minHeight) {\n canvasData.top = canvasData.oldTop;\n }\n\n canvasData.width = Math.min(Math.max(canvasData.width, canvasData.minWidth), canvasData.maxWidth);\n canvasData.height = Math.min(Math.max(canvasData.height, canvasData.minHeight), canvasData.maxHeight);\n this.limitCanvas(false, true);\n canvasData.left = Math.min(Math.max(canvasData.left, canvasData.minLeft), canvasData.maxLeft);\n canvasData.top = Math.min(Math.max(canvasData.top, canvasData.minTop), canvasData.maxTop);\n canvasData.oldLeft = canvasData.left;\n canvasData.oldTop = canvasData.top;\n setStyle(this.canvas, assign({\n width: canvasData.width,\n height: canvasData.height\n }, getTransforms({\n translateX: canvasData.left,\n translateY: canvasData.top\n })));\n this.renderImage(changed);\n\n if (this.cropped && this.limited) {\n this.limitCropBox(true, true);\n }\n },\n renderImage: function renderImage(changed) {\n var canvasData = this.canvasData,\n imageData = this.imageData;\n var width = imageData.naturalWidth * (canvasData.width / canvasData.naturalWidth);\n var height = imageData.naturalHeight * (canvasData.height / canvasData.naturalHeight);\n assign(imageData, {\n width: width,\n height: height,\n left: (canvasData.width - width) / 2,\n top: (canvasData.height - height) / 2\n });\n setStyle(this.image, assign({\n width: imageData.width,\n height: imageData.height\n }, getTransforms(assign({\n translateX: imageData.left,\n translateY: imageData.top\n }, imageData))));\n\n if (changed) {\n this.output();\n }\n },\n initCropBox: function initCropBox() {\n var options = this.options,\n canvasData = this.canvasData;\n var aspectRatio = options.aspectRatio || options.initialAspectRatio;\n var autoCropArea = Number(options.autoCropArea) || 0.8;\n var cropBoxData = {\n width: canvasData.width,\n height: canvasData.height\n };\n\n if (aspectRatio) {\n if (canvasData.height * aspectRatio > canvasData.width) {\n cropBoxData.height = cropBoxData.width / aspectRatio;\n } else {\n cropBoxData.width = cropBoxData.height * aspectRatio;\n }\n }\n\n this.cropBoxData = cropBoxData;\n this.limitCropBox(true, true); // Initialize auto crop area\n\n cropBoxData.width = Math.min(Math.max(cropBoxData.width, cropBoxData.minWidth), cropBoxData.maxWidth);\n cropBoxData.height = Math.min(Math.max(cropBoxData.height, cropBoxData.minHeight), cropBoxData.maxHeight); // The width/height of auto crop area must large than \"minWidth/Height\"\n\n cropBoxData.width = Math.max(cropBoxData.minWidth, cropBoxData.width * autoCropArea);\n cropBoxData.height = Math.max(cropBoxData.minHeight, cropBoxData.height * autoCropArea);\n cropBoxData.left = canvasData.left + (canvasData.width - cropBoxData.width) / 2;\n cropBoxData.top = canvasData.top + (canvasData.height - cropBoxData.height) / 2;\n cropBoxData.oldLeft = cropBoxData.left;\n cropBoxData.oldTop = cropBoxData.top;\n this.initialCropBoxData = assign({}, cropBoxData);\n },\n limitCropBox: function limitCropBox(sizeLimited, positionLimited) {\n var options = this.options,\n containerData = this.containerData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData,\n limited = this.limited;\n var aspectRatio = options.aspectRatio;\n\n if (sizeLimited) {\n var minCropBoxWidth = Number(options.minCropBoxWidth) || 0;\n var minCropBoxHeight = Number(options.minCropBoxHeight) || 0;\n var maxCropBoxWidth = limited ? Math.min(containerData.width, canvasData.width, canvasData.width + canvasData.left, containerData.width - canvasData.left) : containerData.width;\n var maxCropBoxHeight = limited ? Math.min(containerData.height, canvasData.height, canvasData.height + canvasData.top, containerData.height - canvasData.top) : containerData.height; // The min/maxCropBoxWidth/Height must be less than container's width/height\n\n minCropBoxWidth = Math.min(minCropBoxWidth, containerData.width);\n minCropBoxHeight = Math.min(minCropBoxHeight, containerData.height);\n\n if (aspectRatio) {\n if (minCropBoxWidth && minCropBoxHeight) {\n if (minCropBoxHeight * aspectRatio > minCropBoxWidth) {\n minCropBoxHeight = minCropBoxWidth / aspectRatio;\n } else {\n minCropBoxWidth = minCropBoxHeight * aspectRatio;\n }\n } else if (minCropBoxWidth) {\n minCropBoxHeight = minCropBoxWidth / aspectRatio;\n } else if (minCropBoxHeight) {\n minCropBoxWidth = minCropBoxHeight * aspectRatio;\n }\n\n if (maxCropBoxHeight * aspectRatio > maxCropBoxWidth) {\n maxCropBoxHeight = maxCropBoxWidth / aspectRatio;\n } else {\n maxCropBoxWidth = maxCropBoxHeight * aspectRatio;\n }\n } // The minWidth/Height must be less than maxWidth/Height\n\n\n cropBoxData.minWidth = Math.min(minCropBoxWidth, maxCropBoxWidth);\n cropBoxData.minHeight = Math.min(minCropBoxHeight, maxCropBoxHeight);\n cropBoxData.maxWidth = maxCropBoxWidth;\n cropBoxData.maxHeight = maxCropBoxHeight;\n }\n\n if (positionLimited) {\n if (limited) {\n cropBoxData.minLeft = Math.max(0, canvasData.left);\n cropBoxData.minTop = Math.max(0, canvasData.top);\n cropBoxData.maxLeft = Math.min(containerData.width, canvasData.left + canvasData.width) - cropBoxData.width;\n cropBoxData.maxTop = Math.min(containerData.height, canvasData.top + canvasData.height) - cropBoxData.height;\n } else {\n cropBoxData.minLeft = 0;\n cropBoxData.minTop = 0;\n cropBoxData.maxLeft = containerData.width - cropBoxData.width;\n cropBoxData.maxTop = containerData.height - cropBoxData.height;\n }\n }\n },\n renderCropBox: function renderCropBox() {\n var options = this.options,\n containerData = this.containerData,\n cropBoxData = this.cropBoxData;\n\n if (cropBoxData.width > cropBoxData.maxWidth || cropBoxData.width < cropBoxData.minWidth) {\n cropBoxData.left = cropBoxData.oldLeft;\n }\n\n if (cropBoxData.height > cropBoxData.maxHeight || cropBoxData.height < cropBoxData.minHeight) {\n cropBoxData.top = cropBoxData.oldTop;\n }\n\n cropBoxData.width = Math.min(Math.max(cropBoxData.width, cropBoxData.minWidth), cropBoxData.maxWidth);\n cropBoxData.height = Math.min(Math.max(cropBoxData.height, cropBoxData.minHeight), cropBoxData.maxHeight);\n this.limitCropBox(false, true);\n cropBoxData.left = Math.min(Math.max(cropBoxData.left, cropBoxData.minLeft), cropBoxData.maxLeft);\n cropBoxData.top = Math.min(Math.max(cropBoxData.top, cropBoxData.minTop), cropBoxData.maxTop);\n cropBoxData.oldLeft = cropBoxData.left;\n cropBoxData.oldTop = cropBoxData.top;\n\n if (options.movable && options.cropBoxMovable) {\n // Turn to move the canvas when the crop box is equal to the container\n setData(this.face, DATA_ACTION, cropBoxData.width >= containerData.width && cropBoxData.height >= containerData.height ? ACTION_MOVE : ACTION_ALL);\n }\n\n setStyle(this.cropBox, assign({\n width: cropBoxData.width,\n height: cropBoxData.height\n }, getTransforms({\n translateX: cropBoxData.left,\n translateY: cropBoxData.top\n })));\n\n if (this.cropped && this.limited) {\n this.limitCanvas(true, true);\n }\n\n if (!this.disabled) {\n this.output();\n }\n },\n output: function output() {\n this.preview();\n dispatchEvent(this.element, EVENT_CROP, this.getData());\n }\n};\n\nvar preview = {\n initPreview: function initPreview() {\n var crossOrigin = this.crossOrigin;\n var preview = this.options.preview;\n var url = crossOrigin ? this.crossOriginUrl : this.url;\n var image = document.createElement('img');\n\n if (crossOrigin) {\n image.crossOrigin = crossOrigin;\n }\n\n image.src = url;\n this.viewBox.appendChild(image);\n this.viewBoxImage = image;\n\n if (!preview) {\n return;\n }\n\n var previews = preview;\n\n if (typeof preview === 'string') {\n previews = this.element.ownerDocument.querySelectorAll(preview);\n } else if (preview.querySelector) {\n previews = [preview];\n }\n\n this.previews = previews;\n forEach(previews, function (el) {\n var img = document.createElement('img'); // Save the original size for recover\n\n setData(el, DATA_PREVIEW, {\n width: el.offsetWidth,\n height: el.offsetHeight,\n html: el.innerHTML\n });\n\n if (crossOrigin) {\n img.crossOrigin = crossOrigin;\n }\n\n img.src = url;\n /**\n * Override img element styles\n * Add `display:block` to avoid margin top issue\n * Add `height:auto` to override `height` attribute on IE8\n * (Occur only when margin-top <= -height)\n */\n\n img.style.cssText = 'display:block;' + 'width:100%;' + 'height:auto;' + 'min-width:0!important;' + 'min-height:0!important;' + 'max-width:none!important;' + 'max-height:none!important;' + 'image-orientation:0deg!important;\"';\n el.innerHTML = '';\n el.appendChild(img);\n });\n },\n resetPreview: function resetPreview() {\n forEach(this.previews, function (element) {\n var data = getData(element, DATA_PREVIEW);\n setStyle(element, {\n width: data.width,\n height: data.height\n });\n element.innerHTML = data.html;\n removeData(element, DATA_PREVIEW);\n });\n },\n preview: function preview() {\n var imageData = this.imageData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var cropBoxWidth = cropBoxData.width,\n cropBoxHeight = cropBoxData.height;\n var width = imageData.width,\n height = imageData.height;\n var left = cropBoxData.left - canvasData.left - imageData.left;\n var top = cropBoxData.top - canvasData.top - imageData.top;\n\n if (!this.cropped || this.disabled) {\n return;\n }\n\n setStyle(this.viewBoxImage, assign({\n width: width,\n height: height\n }, getTransforms(assign({\n translateX: -left,\n translateY: -top\n }, imageData))));\n forEach(this.previews, function (element) {\n var data = getData(element, DATA_PREVIEW);\n var originalWidth = data.width;\n var originalHeight = data.height;\n var newWidth = originalWidth;\n var newHeight = originalHeight;\n var ratio = 1;\n\n if (cropBoxWidth) {\n ratio = originalWidth / cropBoxWidth;\n newHeight = cropBoxHeight * ratio;\n }\n\n if (cropBoxHeight && newHeight > originalHeight) {\n ratio = originalHeight / cropBoxHeight;\n newWidth = cropBoxWidth * ratio;\n newHeight = originalHeight;\n }\n\n setStyle(element, {\n width: newWidth,\n height: newHeight\n });\n setStyle(element.getElementsByTagName('img')[0], assign({\n width: width * ratio,\n height: height * ratio\n }, getTransforms(assign({\n translateX: -left * ratio,\n translateY: -top * ratio\n }, imageData))));\n });\n }\n};\n\nvar events = {\n bind: function bind() {\n var element = this.element,\n options = this.options,\n cropper = this.cropper;\n\n if (isFunction(options.cropstart)) {\n addListener(element, EVENT_CROP_START, options.cropstart);\n }\n\n if (isFunction(options.cropmove)) {\n addListener(element, EVENT_CROP_MOVE, options.cropmove);\n }\n\n if (isFunction(options.cropend)) {\n addListener(element, EVENT_CROP_END, options.cropend);\n }\n\n if (isFunction(options.crop)) {\n addListener(element, EVENT_CROP, options.crop);\n }\n\n if (isFunction(options.zoom)) {\n addListener(element, EVENT_ZOOM, options.zoom);\n }\n\n addListener(cropper, EVENT_POINTER_DOWN, this.onCropStart = this.cropStart.bind(this));\n\n if (options.zoomable && options.zoomOnWheel) {\n addListener(cropper, EVENT_WHEEL, this.onWheel = this.wheel.bind(this));\n }\n\n if (options.toggleDragModeOnDblclick) {\n addListener(cropper, EVENT_DBLCLICK, this.onDblclick = this.dblclick.bind(this));\n }\n\n addListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onCropMove = this.cropMove.bind(this));\n addListener(element.ownerDocument, EVENT_POINTER_UP, this.onCropEnd = this.cropEnd.bind(this));\n\n if (options.responsive) {\n addListener(window, EVENT_RESIZE, this.onResize = this.resize.bind(this));\n }\n },\n unbind: function unbind() {\n var element = this.element,\n options = this.options,\n cropper = this.cropper;\n\n if (isFunction(options.cropstart)) {\n removeListener(element, EVENT_CROP_START, options.cropstart);\n }\n\n if (isFunction(options.cropmove)) {\n removeListener(element, EVENT_CROP_MOVE, options.cropmove);\n }\n\n if (isFunction(options.cropend)) {\n removeListener(element, EVENT_CROP_END, options.cropend);\n }\n\n if (isFunction(options.crop)) {\n removeListener(element, EVENT_CROP, options.crop);\n }\n\n if (isFunction(options.zoom)) {\n removeListener(element, EVENT_ZOOM, options.zoom);\n }\n\n removeListener(cropper, EVENT_POINTER_DOWN, this.onCropStart);\n\n if (options.zoomable && options.zoomOnWheel) {\n removeListener(cropper, EVENT_WHEEL, this.onWheel);\n }\n\n if (options.toggleDragModeOnDblclick) {\n removeListener(cropper, EVENT_DBLCLICK, this.onDblclick);\n }\n\n removeListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onCropMove);\n removeListener(element.ownerDocument, EVENT_POINTER_UP, this.onCropEnd);\n\n if (options.responsive) {\n removeListener(window, EVENT_RESIZE, this.onResize);\n }\n }\n};\n\nvar handlers = {\n resize: function resize() {\n var options = this.options,\n container = this.container,\n containerData = this.containerData;\n var minContainerWidth = Number(options.minContainerWidth) || 200;\n var minContainerHeight = Number(options.minContainerHeight) || 100;\n\n if (this.disabled || containerData.width <= minContainerWidth || containerData.height <= minContainerHeight) {\n return;\n }\n\n var ratio = container.offsetWidth / containerData.width; // Resize when width changed or height changed\n\n if (ratio !== 1 || container.offsetHeight !== containerData.height) {\n var canvasData;\n var cropBoxData;\n\n if (options.restore) {\n canvasData = this.getCanvasData();\n cropBoxData = this.getCropBoxData();\n }\n\n this.render();\n\n if (options.restore) {\n this.setCanvasData(forEach(canvasData, function (n, i) {\n canvasData[i] = n * ratio;\n }));\n this.setCropBoxData(forEach(cropBoxData, function (n, i) {\n cropBoxData[i] = n * ratio;\n }));\n }\n }\n },\n dblclick: function dblclick() {\n if (this.disabled || this.options.dragMode === DRAG_MODE_NONE) {\n return;\n }\n\n this.setDragMode(hasClass(this.dragBox, CLASS_CROP) ? DRAG_MODE_MOVE : DRAG_MODE_CROP);\n },\n wheel: function wheel(e) {\n var _this = this;\n\n var ratio = Number(this.options.wheelZoomRatio) || 0.1;\n var delta = 1;\n\n if (this.disabled) {\n return;\n }\n\n e.preventDefault(); // Limit wheel speed to prevent zoom too fast (#21)\n\n if (this.wheeling) {\n return;\n }\n\n this.wheeling = true;\n setTimeout(function () {\n _this.wheeling = false;\n }, 50);\n\n if (e.deltaY) {\n delta = e.deltaY > 0 ? 1 : -1;\n } else if (e.wheelDelta) {\n delta = -e.wheelDelta / 120;\n } else if (e.detail) {\n delta = e.detail > 0 ? 1 : -1;\n }\n\n this.zoom(-delta * ratio, e);\n },\n cropStart: function cropStart(e) {\n if (this.disabled) {\n return;\n }\n\n var options = this.options,\n pointers = this.pointers;\n var action;\n\n if (e.changedTouches) {\n // Handle touch event\n forEach(e.changedTouches, function (touch) {\n pointers[touch.identifier] = getPointer(touch);\n });\n } else {\n // Handle mouse event and pointer event\n pointers[e.pointerId || 0] = getPointer(e);\n }\n\n if (Object.keys(pointers).length > 1 && options.zoomable && options.zoomOnTouch) {\n action = ACTION_ZOOM;\n } else {\n action = getData(e.target, DATA_ACTION);\n }\n\n if (!REGEXP_ACTIONS.test(action)) {\n return;\n }\n\n if (dispatchEvent(this.element, EVENT_CROP_START, {\n originalEvent: e,\n action: action\n }) === false) {\n return;\n } // This line is required for preventing page zooming in iOS browsers\n\n\n e.preventDefault();\n this.action = action;\n this.cropping = false;\n\n if (action === ACTION_CROP) {\n this.cropping = true;\n addClass(this.dragBox, CLASS_MODAL);\n }\n },\n cropMove: function cropMove(e) {\n var action = this.action;\n\n if (this.disabled || !action) {\n return;\n }\n\n var pointers = this.pointers;\n e.preventDefault();\n\n if (dispatchEvent(this.element, EVENT_CROP_MOVE, {\n originalEvent: e,\n action: action\n }) === false) {\n return;\n }\n\n if (e.changedTouches) {\n forEach(e.changedTouches, function (touch) {\n // The first parameter should not be undefined (#432)\n assign(pointers[touch.identifier] || {}, getPointer(touch, true));\n });\n } else {\n assign(pointers[e.pointerId || 0] || {}, getPointer(e, true));\n }\n\n this.change(e);\n },\n cropEnd: function cropEnd(e) {\n if (this.disabled) {\n return;\n }\n\n var action = this.action,\n pointers = this.pointers;\n\n if (e.changedTouches) {\n forEach(e.changedTouches, function (touch) {\n delete pointers[touch.identifier];\n });\n } else {\n delete pointers[e.pointerId || 0];\n }\n\n if (!action) {\n return;\n }\n\n e.preventDefault();\n\n if (!Object.keys(pointers).length) {\n this.action = '';\n }\n\n if (this.cropping) {\n this.cropping = false;\n toggleClass(this.dragBox, CLASS_MODAL, this.cropped && this.options.modal);\n }\n\n dispatchEvent(this.element, EVENT_CROP_END, {\n originalEvent: e,\n action: action\n });\n }\n};\n\nvar change = {\n change: function change(e) {\n var options = this.options,\n canvasData = this.canvasData,\n containerData = this.containerData,\n cropBoxData = this.cropBoxData,\n pointers = this.pointers;\n var action = this.action;\n var aspectRatio = options.aspectRatio;\n var left = cropBoxData.left,\n top = cropBoxData.top,\n width = cropBoxData.width,\n height = cropBoxData.height;\n var right = left + width;\n var bottom = top + height;\n var minLeft = 0;\n var minTop = 0;\n var maxWidth = containerData.width;\n var maxHeight = containerData.height;\n var renderable = true;\n var offset; // Locking aspect ratio in \"free mode\" by holding shift key\n\n if (!aspectRatio && e.shiftKey) {\n aspectRatio = width && height ? width / height : 1;\n }\n\n if (this.limited) {\n minLeft = cropBoxData.minLeft;\n minTop = cropBoxData.minTop;\n maxWidth = minLeft + Math.min(containerData.width, canvasData.width, canvasData.left + canvasData.width);\n maxHeight = minTop + Math.min(containerData.height, canvasData.height, canvasData.top + canvasData.height);\n }\n\n var pointer = pointers[Object.keys(pointers)[0]];\n var range = {\n x: pointer.endX - pointer.startX,\n y: pointer.endY - pointer.startY\n };\n\n var check = function check(side) {\n switch (side) {\n case ACTION_EAST:\n if (right + range.x > maxWidth) {\n range.x = maxWidth - right;\n }\n\n break;\n\n case ACTION_WEST:\n if (left + range.x < minLeft) {\n range.x = minLeft - left;\n }\n\n break;\n\n case ACTION_NORTH:\n if (top + range.y < minTop) {\n range.y = minTop - top;\n }\n\n break;\n\n case ACTION_SOUTH:\n if (bottom + range.y > maxHeight) {\n range.y = maxHeight - bottom;\n }\n\n break;\n\n default:\n }\n };\n\n switch (action) {\n // Move crop box\n case ACTION_ALL:\n left += range.x;\n top += range.y;\n break;\n // Resize crop box\n\n case ACTION_EAST:\n if (range.x >= 0 && (right >= maxWidth || aspectRatio && (top <= minTop || bottom >= maxHeight))) {\n renderable = false;\n break;\n }\n\n check(ACTION_EAST);\n width += range.x;\n\n if (width < 0) {\n action = ACTION_WEST;\n width = -width;\n left -= width;\n }\n\n if (aspectRatio) {\n height = width / aspectRatio;\n top += (cropBoxData.height - height) / 2;\n }\n\n break;\n\n case ACTION_NORTH:\n if (range.y <= 0 && (top <= minTop || aspectRatio && (left <= minLeft || right >= maxWidth))) {\n renderable = false;\n break;\n }\n\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n\n if (height < 0) {\n action = ACTION_SOUTH;\n height = -height;\n top -= height;\n }\n\n if (aspectRatio) {\n width = height * aspectRatio;\n left += (cropBoxData.width - width) / 2;\n }\n\n break;\n\n case ACTION_WEST:\n if (range.x <= 0 && (left <= minLeft || aspectRatio && (top <= minTop || bottom >= maxHeight))) {\n renderable = false;\n break;\n }\n\n check(ACTION_WEST);\n width -= range.x;\n left += range.x;\n\n if (width < 0) {\n action = ACTION_EAST;\n width = -width;\n left -= width;\n }\n\n if (aspectRatio) {\n height = width / aspectRatio;\n top += (cropBoxData.height - height) / 2;\n }\n\n break;\n\n case ACTION_SOUTH:\n if (range.y >= 0 && (bottom >= maxHeight || aspectRatio && (left <= minLeft || right >= maxWidth))) {\n renderable = false;\n break;\n }\n\n check(ACTION_SOUTH);\n height += range.y;\n\n if (height < 0) {\n action = ACTION_NORTH;\n height = -height;\n top -= height;\n }\n\n if (aspectRatio) {\n width = height * aspectRatio;\n left += (cropBoxData.width - width) / 2;\n }\n\n break;\n\n case ACTION_NORTH_EAST:\n if (aspectRatio) {\n if (range.y <= 0 && (top <= minTop || right >= maxWidth)) {\n renderable = false;\n break;\n }\n\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n width = height * aspectRatio;\n } else {\n check(ACTION_NORTH);\n check(ACTION_EAST);\n\n if (range.x >= 0) {\n if (right < maxWidth) {\n width += range.x;\n } else if (range.y <= 0 && top <= minTop) {\n renderable = false;\n }\n } else {\n width += range.x;\n }\n\n if (range.y <= 0) {\n if (top > minTop) {\n height -= range.y;\n top += range.y;\n }\n } else {\n height -= range.y;\n top += range.y;\n }\n }\n\n if (width < 0 && height < 0) {\n action = ACTION_SOUTH_WEST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_NORTH_WEST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_SOUTH_EAST;\n height = -height;\n top -= height;\n }\n\n break;\n\n case ACTION_NORTH_WEST:\n if (aspectRatio) {\n if (range.y <= 0 && (top <= minTop || left <= minLeft)) {\n renderable = false;\n break;\n }\n\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n width = height * aspectRatio;\n left += cropBoxData.width - width;\n } else {\n check(ACTION_NORTH);\n check(ACTION_WEST);\n\n if (range.x <= 0) {\n if (left > minLeft) {\n width -= range.x;\n left += range.x;\n } else if (range.y <= 0 && top <= minTop) {\n renderable = false;\n }\n } else {\n width -= range.x;\n left += range.x;\n }\n\n if (range.y <= 0) {\n if (top > minTop) {\n height -= range.y;\n top += range.y;\n }\n } else {\n height -= range.y;\n top += range.y;\n }\n }\n\n if (width < 0 && height < 0) {\n action = ACTION_SOUTH_EAST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_NORTH_EAST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_SOUTH_WEST;\n height = -height;\n top -= height;\n }\n\n break;\n\n case ACTION_SOUTH_WEST:\n if (aspectRatio) {\n if (range.x <= 0 && (left <= minLeft || bottom >= maxHeight)) {\n renderable = false;\n break;\n }\n\n check(ACTION_WEST);\n width -= range.x;\n left += range.x;\n height = width / aspectRatio;\n } else {\n check(ACTION_SOUTH);\n check(ACTION_WEST);\n\n if (range.x <= 0) {\n if (left > minLeft) {\n width -= range.x;\n left += range.x;\n } else if (range.y >= 0 && bottom >= maxHeight) {\n renderable = false;\n }\n } else {\n width -= range.x;\n left += range.x;\n }\n\n if (range.y >= 0) {\n if (bottom < maxHeight) {\n height += range.y;\n }\n } else {\n height += range.y;\n }\n }\n\n if (width < 0 && height < 0) {\n action = ACTION_NORTH_EAST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_SOUTH_EAST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_NORTH_WEST;\n height = -height;\n top -= height;\n }\n\n break;\n\n case ACTION_SOUTH_EAST:\n if (aspectRatio) {\n if (range.x >= 0 && (right >= maxWidth || bottom >= maxHeight)) {\n renderable = false;\n break;\n }\n\n check(ACTION_EAST);\n width += range.x;\n height = width / aspectRatio;\n } else {\n check(ACTION_SOUTH);\n check(ACTION_EAST);\n\n if (range.x >= 0) {\n if (right < maxWidth) {\n width += range.x;\n } else if (range.y >= 0 && bottom >= maxHeight) {\n renderable = false;\n }\n } else {\n width += range.x;\n }\n\n if (range.y >= 0) {\n if (bottom < maxHeight) {\n height += range.y;\n }\n } else {\n height += range.y;\n }\n }\n\n if (width < 0 && height < 0) {\n action = ACTION_NORTH_WEST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_SOUTH_WEST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_NORTH_EAST;\n height = -height;\n top -= height;\n }\n\n break;\n // Move canvas\n\n case ACTION_MOVE:\n this.move(range.x, range.y);\n renderable = false;\n break;\n // Zoom canvas\n\n case ACTION_ZOOM:\n this.zoom(getMaxZoomRatio(pointers), e);\n renderable = false;\n break;\n // Create crop box\n\n case ACTION_CROP:\n if (!range.x || !range.y) {\n renderable = false;\n break;\n }\n\n offset = getOffset(this.cropper);\n left = pointer.startX - offset.left;\n top = pointer.startY - offset.top;\n width = cropBoxData.minWidth;\n height = cropBoxData.minHeight;\n\n if (range.x > 0) {\n action = range.y > 0 ? ACTION_SOUTH_EAST : ACTION_NORTH_EAST;\n } else if (range.x < 0) {\n left -= width;\n action = range.y > 0 ? ACTION_SOUTH_WEST : ACTION_NORTH_WEST;\n }\n\n if (range.y < 0) {\n top -= height;\n } // Show the crop box if is hidden\n\n\n if (!this.cropped) {\n removeClass(this.cropBox, CLASS_HIDDEN);\n this.cropped = true;\n\n if (this.limited) {\n this.limitCropBox(true, true);\n }\n }\n\n break;\n\n default:\n }\n\n if (renderable) {\n cropBoxData.width = width;\n cropBoxData.height = height;\n cropBoxData.left = left;\n cropBoxData.top = top;\n this.action = action;\n this.renderCropBox();\n } // Override\n\n\n forEach(pointers, function (p) {\n p.startX = p.endX;\n p.startY = p.endY;\n });\n }\n};\n\nvar methods = {\n // Show the crop box manually\n crop: function crop() {\n if (this.ready && !this.cropped && !this.disabled) {\n this.cropped = true;\n this.limitCropBox(true, true);\n\n if (this.options.modal) {\n addClass(this.dragBox, CLASS_MODAL);\n }\n\n removeClass(this.cropBox, CLASS_HIDDEN);\n this.setCropBoxData(this.initialCropBoxData);\n }\n\n return this;\n },\n // Reset the image and crop box to their initial states\n reset: function reset() {\n if (this.ready && !this.disabled) {\n this.imageData = assign({}, this.initialImageData);\n this.canvasData = assign({}, this.initialCanvasData);\n this.cropBoxData = assign({}, this.initialCropBoxData);\n this.renderCanvas();\n\n if (this.cropped) {\n this.renderCropBox();\n }\n }\n\n return this;\n },\n // Clear the crop box\n clear: function clear() {\n if (this.cropped && !this.disabled) {\n assign(this.cropBoxData, {\n left: 0,\n top: 0,\n width: 0,\n height: 0\n });\n this.cropped = false;\n this.renderCropBox();\n this.limitCanvas(true, true); // Render canvas after crop box rendered\n\n this.renderCanvas();\n removeClass(this.dragBox, CLASS_MODAL);\n addClass(this.cropBox, CLASS_HIDDEN);\n }\n\n return this;\n },\n\n /**\n * Replace the image's src and rebuild the cropper\n * @param {string} url - The new URL.\n * @param {boolean} [hasSameSize] - Indicate if the new image has the same size as the old one.\n * @returns {Cropper} this\n */\n replace: function replace(url) {\n var hasSameSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!this.disabled && url) {\n if (this.isImg) {\n this.element.src = url;\n }\n\n if (hasSameSize) {\n this.url = url;\n this.image.src = url;\n\n if (this.ready) {\n this.viewBoxImage.src = url;\n forEach(this.previews, function (element) {\n element.getElementsByTagName('img')[0].src = url;\n });\n }\n } else {\n if (this.isImg) {\n this.replaced = true;\n }\n\n this.options.data = null;\n this.uncreate();\n this.load(url);\n }\n }\n\n return this;\n },\n // Enable (unfreeze) the cropper\n enable: function enable() {\n if (this.ready && this.disabled) {\n this.disabled = false;\n removeClass(this.cropper, CLASS_DISABLED);\n }\n\n return this;\n },\n // Disable (freeze) the cropper\n disable: function disable() {\n if (this.ready && !this.disabled) {\n this.disabled = true;\n addClass(this.cropper, CLASS_DISABLED);\n }\n\n return this;\n },\n\n /**\n * Destroy the cropper and remove the instance from the image\n * @returns {Cropper} this\n */\n destroy: function destroy() {\n var element = this.element;\n\n if (!element[NAMESPACE]) {\n return this;\n }\n\n element[NAMESPACE] = undefined;\n\n if (this.isImg && this.replaced) {\n element.src = this.originalUrl;\n }\n\n this.uncreate();\n return this;\n },\n\n /**\n * Move the canvas with relative offsets\n * @param {number} offsetX - The relative offset distance on the x-axis.\n * @param {number} [offsetY=offsetX] - The relative offset distance on the y-axis.\n * @returns {Cropper} this\n */\n move: function move(offsetX) {\n var offsetY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : offsetX;\n var _this$canvasData = this.canvasData,\n left = _this$canvasData.left,\n top = _this$canvasData.top;\n return this.moveTo(isUndefined(offsetX) ? offsetX : left + Number(offsetX), isUndefined(offsetY) ? offsetY : top + Number(offsetY));\n },\n\n /**\n * Move the canvas to an absolute point\n * @param {number} x - The x-axis coordinate.\n * @param {number} [y=x] - The y-axis coordinate.\n * @returns {Cropper} this\n */\n moveTo: function moveTo(x) {\n var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : x;\n var canvasData = this.canvasData;\n var changed = false;\n x = Number(x);\n y = Number(y);\n\n if (this.ready && !this.disabled && this.options.movable) {\n if (isNumber(x)) {\n canvasData.left = x;\n changed = true;\n }\n\n if (isNumber(y)) {\n canvasData.top = y;\n changed = true;\n }\n\n if (changed) {\n this.renderCanvas(true);\n }\n }\n\n return this;\n },\n\n /**\n * Zoom the canvas with a relative ratio\n * @param {number} ratio - The target ratio.\n * @param {Event} _originalEvent - The original event if any.\n * @returns {Cropper} this\n */\n zoom: function zoom(ratio, _originalEvent) {\n var canvasData = this.canvasData;\n ratio = Number(ratio);\n\n if (ratio < 0) {\n ratio = 1 / (1 - ratio);\n } else {\n ratio = 1 + ratio;\n }\n\n return this.zoomTo(canvasData.width * ratio / canvasData.naturalWidth, null, _originalEvent);\n },\n\n /**\n * Zoom the canvas to an absolute ratio\n * @param {number} ratio - The target ratio.\n * @param {Object} pivot - The zoom pivot point coordinate.\n * @param {Event} _originalEvent - The original event if any.\n * @returns {Cropper} this\n */\n zoomTo: function zoomTo(ratio, pivot, _originalEvent) {\n var options = this.options,\n canvasData = this.canvasData;\n var width = canvasData.width,\n height = canvasData.height,\n naturalWidth = canvasData.naturalWidth,\n naturalHeight = canvasData.naturalHeight;\n ratio = Number(ratio);\n\n if (ratio >= 0 && this.ready && !this.disabled && options.zoomable) {\n var newWidth = naturalWidth * ratio;\n var newHeight = naturalHeight * ratio;\n\n if (dispatchEvent(this.element, EVENT_ZOOM, {\n ratio: ratio,\n oldRatio: width / naturalWidth,\n originalEvent: _originalEvent\n }) === false) {\n return this;\n }\n\n if (_originalEvent) {\n var pointers = this.pointers;\n var offset = getOffset(this.cropper);\n var center = pointers && Object.keys(pointers).length ? getPointersCenter(pointers) : {\n pageX: _originalEvent.pageX,\n pageY: _originalEvent.pageY\n }; // Zoom from the triggering point of the event\n\n canvasData.left -= (newWidth - width) * ((center.pageX - offset.left - canvasData.left) / width);\n canvasData.top -= (newHeight - height) * ((center.pageY - offset.top - canvasData.top) / height);\n } else if (isPlainObject(pivot) && isNumber(pivot.x) && isNumber(pivot.y)) {\n canvasData.left -= (newWidth - width) * ((pivot.x - canvasData.left) / width);\n canvasData.top -= (newHeight - height) * ((pivot.y - canvasData.top) / height);\n } else {\n // Zoom from the center of the canvas\n canvasData.left -= (newWidth - width) / 2;\n canvasData.top -= (newHeight - height) / 2;\n }\n\n canvasData.width = newWidth;\n canvasData.height = newHeight;\n this.renderCanvas(true);\n }\n\n return this;\n },\n\n /**\n * Rotate the canvas with a relative degree\n * @param {number} degree - The rotate degree.\n * @returns {Cropper} this\n */\n rotate: function rotate(degree) {\n return this.rotateTo((this.imageData.rotate || 0) + Number(degree));\n },\n\n /**\n * Rotate the canvas to an absolute degree\n * @param {number} degree - The rotate degree.\n * @returns {Cropper} this\n */\n rotateTo: function rotateTo(degree) {\n degree = Number(degree);\n\n if (isNumber(degree) && this.ready && !this.disabled && this.options.rotatable) {\n this.imageData.rotate = degree % 360;\n this.renderCanvas(true, true);\n }\n\n return this;\n },\n\n /**\n * Scale the image on the x-axis.\n * @param {number} scaleX - The scale ratio on the x-axis.\n * @returns {Cropper} this\n */\n scaleX: function scaleX(_scaleX) {\n var scaleY = this.imageData.scaleY;\n return this.scale(_scaleX, isNumber(scaleY) ? scaleY : 1);\n },\n\n /**\n * Scale the image on the y-axis.\n * @param {number} scaleY - The scale ratio on the y-axis.\n * @returns {Cropper} this\n */\n scaleY: function scaleY(_scaleY) {\n var scaleX = this.imageData.scaleX;\n return this.scale(isNumber(scaleX) ? scaleX : 1, _scaleY);\n },\n\n /**\n * Scale the image\n * @param {number} scaleX - The scale ratio on the x-axis.\n * @param {number} [scaleY=scaleX] - The scale ratio on the y-axis.\n * @returns {Cropper} this\n */\n scale: function scale(scaleX) {\n var scaleY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : scaleX;\n var imageData = this.imageData;\n var transformed = false;\n scaleX = Number(scaleX);\n scaleY = Number(scaleY);\n\n if (this.ready && !this.disabled && this.options.scalable) {\n if (isNumber(scaleX)) {\n imageData.scaleX = scaleX;\n transformed = true;\n }\n\n if (isNumber(scaleY)) {\n imageData.scaleY = scaleY;\n transformed = true;\n }\n\n if (transformed) {\n this.renderCanvas(true, true);\n }\n }\n\n return this;\n },\n\n /**\n * Get the cropped area position and size data (base on the original image)\n * @param {boolean} [rounded=false] - Indicate if round the data values or not.\n * @returns {Object} The result cropped data.\n */\n getData: function getData$$1() {\n var rounded = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var options = this.options,\n imageData = this.imageData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var data;\n\n if (this.ready && this.cropped) {\n data = {\n x: cropBoxData.left - canvasData.left,\n y: cropBoxData.top - canvasData.top,\n width: cropBoxData.width,\n height: cropBoxData.height\n };\n var ratio = imageData.width / imageData.naturalWidth;\n forEach(data, function (n, i) {\n data[i] = n / ratio;\n });\n\n if (rounded) {\n // In case rounding off leads to extra 1px in right or bottom border\n // we should round the top-left corner and the dimension (#343).\n var bottom = Math.round(data.y + data.height);\n var right = Math.round(data.x + data.width);\n data.x = Math.round(data.x);\n data.y = Math.round(data.y);\n data.width = right - data.x;\n data.height = bottom - data.y;\n }\n } else {\n data = {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n };\n }\n\n if (options.rotatable) {\n data.rotate = imageData.rotate || 0;\n }\n\n if (options.scalable) {\n data.scaleX = imageData.scaleX || 1;\n data.scaleY = imageData.scaleY || 1;\n }\n\n return data;\n },\n\n /**\n * Set the cropped area position and size with new data\n * @param {Object} data - The new data.\n * @returns {Cropper} this\n */\n setData: function setData$$1(data) {\n var options = this.options,\n imageData = this.imageData,\n canvasData = this.canvasData;\n var cropBoxData = {};\n\n if (this.ready && !this.disabled && isPlainObject(data)) {\n var transformed = false;\n\n if (options.rotatable) {\n if (isNumber(data.rotate) && data.rotate !== imageData.rotate) {\n imageData.rotate = data.rotate;\n transformed = true;\n }\n }\n\n if (options.scalable) {\n if (isNumber(data.scaleX) && data.scaleX !== imageData.scaleX) {\n imageData.scaleX = data.scaleX;\n transformed = true;\n }\n\n if (isNumber(data.scaleY) && data.scaleY !== imageData.scaleY) {\n imageData.scaleY = data.scaleY;\n transformed = true;\n }\n }\n\n if (transformed) {\n this.renderCanvas(true, true);\n }\n\n var ratio = imageData.width / imageData.naturalWidth;\n\n if (isNumber(data.x)) {\n cropBoxData.left = data.x * ratio + canvasData.left;\n }\n\n if (isNumber(data.y)) {\n cropBoxData.top = data.y * ratio + canvasData.top;\n }\n\n if (isNumber(data.width)) {\n cropBoxData.width = data.width * ratio;\n }\n\n if (isNumber(data.height)) {\n cropBoxData.height = data.height * ratio;\n }\n\n this.setCropBoxData(cropBoxData);\n }\n\n return this;\n },\n\n /**\n * Get the container size data.\n * @returns {Object} The result container data.\n */\n getContainerData: function getContainerData() {\n return this.ready ? assign({}, this.containerData) : {};\n },\n\n /**\n * Get the image position and size data.\n * @returns {Object} The result image data.\n */\n getImageData: function getImageData() {\n return this.sized ? assign({}, this.imageData) : {};\n },\n\n /**\n * Get the canvas position and size data.\n * @returns {Object} The result canvas data.\n */\n getCanvasData: function getCanvasData() {\n var canvasData = this.canvasData;\n var data = {};\n\n if (this.ready) {\n forEach(['left', 'top', 'width', 'height', 'naturalWidth', 'naturalHeight'], function (n) {\n data[n] = canvasData[n];\n });\n }\n\n return data;\n },\n\n /**\n * Set the canvas position and size with new data.\n * @param {Object} data - The new canvas data.\n * @returns {Cropper} this\n */\n setCanvasData: function setCanvasData(data) {\n var canvasData = this.canvasData;\n var aspectRatio = canvasData.aspectRatio;\n\n if (this.ready && !this.disabled && isPlainObject(data)) {\n if (isNumber(data.left)) {\n canvasData.left = data.left;\n }\n\n if (isNumber(data.top)) {\n canvasData.top = data.top;\n }\n\n if (isNumber(data.width)) {\n canvasData.width = data.width;\n canvasData.height = data.width / aspectRatio;\n } else if (isNumber(data.height)) {\n canvasData.height = data.height;\n canvasData.width = data.height * aspectRatio;\n }\n\n this.renderCanvas(true);\n }\n\n return this;\n },\n\n /**\n * Get the crop box position and size data.\n * @returns {Object} The result crop box data.\n */\n getCropBoxData: function getCropBoxData() {\n var cropBoxData = this.cropBoxData;\n var data;\n\n if (this.ready && this.cropped) {\n data = {\n left: cropBoxData.left,\n top: cropBoxData.top,\n width: cropBoxData.width,\n height: cropBoxData.height\n };\n }\n\n return data || {};\n },\n\n /**\n * Set the crop box position and size with new data.\n * @param {Object} data - The new crop box data.\n * @returns {Cropper} this\n */\n setCropBoxData: function setCropBoxData(data) {\n var cropBoxData = this.cropBoxData;\n var aspectRatio = this.options.aspectRatio;\n var widthChanged;\n var heightChanged;\n\n if (this.ready && this.cropped && !this.disabled && isPlainObject(data)) {\n if (isNumber(data.left)) {\n cropBoxData.left = data.left;\n }\n\n if (isNumber(data.top)) {\n cropBoxData.top = data.top;\n }\n\n if (isNumber(data.width) && data.width !== cropBoxData.width) {\n widthChanged = true;\n cropBoxData.width = data.width;\n }\n\n if (isNumber(data.height) && data.height !== cropBoxData.height) {\n heightChanged = true;\n cropBoxData.height = data.height;\n }\n\n if (aspectRatio) {\n if (widthChanged) {\n cropBoxData.height = cropBoxData.width / aspectRatio;\n } else if (heightChanged) {\n cropBoxData.width = cropBoxData.height * aspectRatio;\n }\n }\n\n this.renderCropBox();\n }\n\n return this;\n },\n\n /**\n * Get a canvas drawn the cropped image.\n * @param {Object} [options={}] - The config options.\n * @returns {HTMLCanvasElement} - The result canvas.\n */\n getCroppedCanvas: function getCroppedCanvas() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (!this.ready || !window.HTMLCanvasElement) {\n return null;\n }\n\n var canvasData = this.canvasData;\n var source = getSourceCanvas(this.image, this.imageData, canvasData, options); // Returns the source canvas if it is not cropped.\n\n if (!this.cropped) {\n return source;\n }\n\n var _this$getData = this.getData(),\n initialX = _this$getData.x,\n initialY = _this$getData.y,\n initialWidth = _this$getData.width,\n initialHeight = _this$getData.height;\n\n var ratio = source.width / Math.floor(canvasData.naturalWidth);\n\n if (ratio !== 1) {\n initialX *= ratio;\n initialY *= ratio;\n initialWidth *= ratio;\n initialHeight *= ratio;\n }\n\n var aspectRatio = initialWidth / initialHeight;\n var maxSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.maxWidth || Infinity,\n height: options.maxHeight || Infinity\n });\n var minSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.minWidth || 0,\n height: options.minHeight || 0\n }, 'cover');\n\n var _getAdjustedSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.width || (ratio !== 1 ? source.width : initialWidth),\n height: options.height || (ratio !== 1 ? source.height : initialHeight)\n }),\n width = _getAdjustedSizes.width,\n height = _getAdjustedSizes.height;\n\n width = Math.min(maxSizes.width, Math.max(minSizes.width, width));\n height = Math.min(maxSizes.height, Math.max(minSizes.height, height));\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n canvas.width = normalizeDecimalNumber(width);\n canvas.height = normalizeDecimalNumber(height);\n context.fillStyle = options.fillColor || 'transparent';\n context.fillRect(0, 0, width, height);\n var _options$imageSmoothi = options.imageSmoothingEnabled,\n imageSmoothingEnabled = _options$imageSmoothi === void 0 ? true : _options$imageSmoothi,\n imageSmoothingQuality = options.imageSmoothingQuality;\n context.imageSmoothingEnabled = imageSmoothingEnabled;\n\n if (imageSmoothingQuality) {\n context.imageSmoothingQuality = imageSmoothingQuality;\n } // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D.drawImage\n\n\n var sourceWidth = source.width;\n var sourceHeight = source.height; // Source canvas parameters\n\n var srcX = initialX;\n var srcY = initialY;\n var srcWidth;\n var srcHeight; // Destination canvas parameters\n\n var dstX;\n var dstY;\n var dstWidth;\n var dstHeight;\n\n if (srcX <= -initialWidth || srcX > sourceWidth) {\n srcX = 0;\n srcWidth = 0;\n dstX = 0;\n dstWidth = 0;\n } else if (srcX <= 0) {\n dstX = -srcX;\n srcX = 0;\n srcWidth = Math.min(sourceWidth, initialWidth + srcX);\n dstWidth = srcWidth;\n } else if (srcX <= sourceWidth) {\n dstX = 0;\n srcWidth = Math.min(initialWidth, sourceWidth - srcX);\n dstWidth = srcWidth;\n }\n\n if (srcWidth <= 0 || srcY <= -initialHeight || srcY > sourceHeight) {\n srcY = 0;\n srcHeight = 0;\n dstY = 0;\n dstHeight = 0;\n } else if (srcY <= 0) {\n dstY = -srcY;\n srcY = 0;\n srcHeight = Math.min(sourceHeight, initialHeight + srcY);\n dstHeight = srcHeight;\n } else if (srcY <= sourceHeight) {\n dstY = 0;\n srcHeight = Math.min(initialHeight, sourceHeight - srcY);\n dstHeight = srcHeight;\n }\n\n var params = [srcX, srcY, srcWidth, srcHeight]; // Avoid \"IndexSizeError\"\n\n if (dstWidth > 0 && dstHeight > 0) {\n var scale = width / initialWidth;\n params.push(dstX * scale, dstY * scale, dstWidth * scale, dstHeight * scale);\n } // All the numerical parameters should be integer for `drawImage`\n // https://github.com/fengyuanchen/cropper/issues/476\n\n\n context.drawImage.apply(context, [source].concat(_toConsumableArray(params.map(function (param) {\n return Math.floor(normalizeDecimalNumber(param));\n }))));\n return canvas;\n },\n\n /**\n * Change the aspect ratio of the crop box.\n * @param {number} aspectRatio - The new aspect ratio.\n * @returns {Cropper} this\n */\n setAspectRatio: function setAspectRatio(aspectRatio) {\n var options = this.options;\n\n if (!this.disabled && !isUndefined(aspectRatio)) {\n // 0 -> NaN\n options.aspectRatio = Math.max(0, aspectRatio) || NaN;\n\n if (this.ready) {\n this.initCropBox();\n\n if (this.cropped) {\n this.renderCropBox();\n }\n }\n }\n\n return this;\n },\n\n /**\n * Change the drag mode.\n * @param {string} mode - The new drag mode.\n * @returns {Cropper} this\n */\n setDragMode: function setDragMode(mode) {\n var options = this.options,\n dragBox = this.dragBox,\n face = this.face;\n\n if (this.ready && !this.disabled) {\n var croppable = mode === DRAG_MODE_CROP;\n var movable = options.movable && mode === DRAG_MODE_MOVE;\n mode = croppable || movable ? mode : DRAG_MODE_NONE;\n options.dragMode = mode;\n setData(dragBox, DATA_ACTION, mode);\n toggleClass(dragBox, CLASS_CROP, croppable);\n toggleClass(dragBox, CLASS_MOVE, movable);\n\n if (!options.cropBoxMovable) {\n // Sync drag mode to crop box when it is not movable\n setData(face, DATA_ACTION, mode);\n toggleClass(face, CLASS_CROP, croppable);\n toggleClass(face, CLASS_MOVE, movable);\n }\n }\n\n return this;\n }\n};\n\nvar AnotherCropper = WINDOW.Cropper;\n\nvar Cropper =\n/*#__PURE__*/\nfunction () {\n /**\n * Create a new Cropper.\n * @param {Element} element - The target element for cropping.\n * @param {Object} [options={}] - The configuration options.\n */\n function Cropper(element) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Cropper);\n\n if (!element || !REGEXP_TAG_NAME.test(element.tagName)) {\n throw new Error('The first argument is required and must be an or element.');\n }\n\n this.element = element;\n this.options = assign({}, DEFAULTS, isPlainObject(options) && options);\n this.cropped = false;\n this.disabled = false;\n this.pointers = {};\n this.ready = false;\n this.reloading = false;\n this.replaced = false;\n this.sized = false;\n this.sizing = false;\n this.init();\n }\n\n _createClass(Cropper, [{\n key: \"init\",\n value: function init() {\n var element = this.element;\n var tagName = element.tagName.toLowerCase();\n var url;\n\n if (element[NAMESPACE]) {\n return;\n }\n\n element[NAMESPACE] = this;\n\n if (tagName === 'img') {\n this.isImg = true; // e.g.: \"img/picture.jpg\"\n\n url = element.getAttribute('src') || '';\n this.originalUrl = url; // Stop when it's a blank image\n\n if (!url) {\n return;\n } // e.g.: \"http://example.com/img/picture.jpg\"\n\n\n url = element.src;\n } else if (tagName === 'canvas' && window.HTMLCanvasElement) {\n url = element.toDataURL();\n }\n\n this.load(url);\n }\n }, {\n key: \"load\",\n value: function load(url) {\n var _this = this;\n\n if (!url) {\n return;\n }\n\n this.url = url;\n this.imageData = {};\n var element = this.element,\n options = this.options;\n\n if (!options.rotatable && !options.scalable) {\n options.checkOrientation = false;\n } // Only IE10+ supports Typed Arrays\n\n\n if (!options.checkOrientation || !window.ArrayBuffer) {\n this.clone();\n return;\n } // XMLHttpRequest disallows to open a Data URL in some browsers like IE11 and Safari\n\n\n if (REGEXP_DATA_URL.test(url)) {\n if (REGEXP_DATA_URL_JPEG.test(url)) {\n this.read(dataURLToArrayBuffer(url));\n } else {\n this.clone();\n }\n\n return;\n }\n\n var xhr = new XMLHttpRequest();\n var clone = this.clone.bind(this);\n this.reloading = true;\n this.xhr = xhr;\n xhr.ontimeout = clone;\n xhr.onabort = clone;\n xhr.onerror = clone;\n\n xhr.onprogress = function () {\n if (xhr.getResponseHeader('content-type') !== MIME_TYPE_JPEG) {\n xhr.abort();\n }\n };\n\n xhr.onload = function () {\n _this.read(xhr.response);\n };\n\n xhr.onloadend = function () {\n _this.reloading = false;\n _this.xhr = null;\n }; // Bust cache when there is a \"crossOrigin\" property to avoid browser cache error\n\n\n if (options.checkCrossOrigin && isCrossOriginURL(url) && element.crossOrigin) {\n url = addTimestamp(url);\n }\n\n xhr.open('GET', url);\n xhr.responseType = 'arraybuffer';\n xhr.withCredentials = element.crossOrigin === 'use-credentials';\n xhr.send();\n }\n }, {\n key: \"read\",\n value: function read(arrayBuffer) {\n var options = this.options,\n imageData = this.imageData;\n var orientation = resetAndGetOrientation(arrayBuffer);\n var rotate = 0;\n var scaleX = 1;\n var scaleY = 1;\n\n if (orientation > 1) {\n // Generate a new Data URL with the orientation value set to 1\n // as some iOS browsers will render image with its orientation\n this.url = arrayBufferToDataURL(arrayBuffer, MIME_TYPE_JPEG);\n\n var _parseOrientation = parseOrientation(orientation);\n\n rotate = _parseOrientation.rotate;\n scaleX = _parseOrientation.scaleX;\n scaleY = _parseOrientation.scaleY;\n }\n\n if (options.rotatable) {\n imageData.rotate = rotate;\n }\n\n if (options.scalable) {\n imageData.scaleX = scaleX;\n imageData.scaleY = scaleY;\n }\n\n this.clone();\n }\n }, {\n key: \"clone\",\n value: function clone() {\n var element = this.element,\n url = this.url;\n var crossOrigin;\n var crossOriginUrl;\n\n if (this.options.checkCrossOrigin && isCrossOriginURL(url)) {\n crossOrigin = element.crossOrigin;\n\n if (crossOrigin) {\n crossOriginUrl = url;\n } else {\n crossOrigin = 'anonymous'; // Bust cache when there is not a \"crossOrigin\" property\n\n crossOriginUrl = addTimestamp(url);\n }\n }\n\n this.crossOrigin = crossOrigin;\n this.crossOriginUrl = crossOriginUrl;\n var image = document.createElement('img');\n\n if (crossOrigin) {\n image.crossOrigin = crossOrigin;\n }\n\n image.src = crossOriginUrl || url;\n this.image = image;\n image.onload = this.start.bind(this);\n image.onerror = this.stop.bind(this);\n addClass(image, CLASS_HIDE);\n element.parentNode.insertBefore(image, element.nextSibling);\n }\n }, {\n key: \"start\",\n value: function start() {\n var _this2 = this;\n\n var image = this.isImg ? this.element : this.image;\n image.onload = null;\n image.onerror = null;\n this.sizing = true;\n var IS_SAFARI = WINDOW.navigator && /(Macintosh|iPhone|iPod|iPad).*AppleWebKit/i.test(WINDOW.navigator.userAgent);\n\n var done = function done(naturalWidth, naturalHeight) {\n assign(_this2.imageData, {\n naturalWidth: naturalWidth,\n naturalHeight: naturalHeight,\n aspectRatio: naturalWidth / naturalHeight\n });\n _this2.sizing = false;\n _this2.sized = true;\n\n _this2.build();\n }; // Modern browsers (except Safari)\n\n\n if (image.naturalWidth && !IS_SAFARI) {\n done(image.naturalWidth, image.naturalHeight);\n return;\n }\n\n var sizingImage = document.createElement('img');\n var body = document.body || document.documentElement;\n this.sizingImage = sizingImage;\n\n sizingImage.onload = function () {\n done(sizingImage.width, sizingImage.height);\n\n if (!IS_SAFARI) {\n body.removeChild(sizingImage);\n }\n };\n\n sizingImage.src = image.src; // iOS Safari will convert the image automatically\n // with its orientation once append it into DOM (#279)\n\n if (!IS_SAFARI) {\n sizingImage.style.cssText = 'left:0;' + 'max-height:none!important;' + 'max-width:none!important;' + 'min-height:0!important;' + 'min-width:0!important;' + 'opacity:0;' + 'position:absolute;' + 'top:0;' + 'z-index:-1;';\n body.appendChild(sizingImage);\n }\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var image = this.image;\n image.onload = null;\n image.onerror = null;\n image.parentNode.removeChild(image);\n this.image = null;\n }\n }, {\n key: \"build\",\n value: function build() {\n if (!this.sized || this.ready) {\n return;\n }\n\n var element = this.element,\n options = this.options,\n image = this.image; // Create cropper elements\n\n var container = element.parentNode;\n var template = document.createElement('div');\n template.innerHTML = TEMPLATE;\n var cropper = template.querySelector(\".\".concat(NAMESPACE, \"-container\"));\n var canvas = cropper.querySelector(\".\".concat(NAMESPACE, \"-canvas\"));\n var dragBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-drag-box\"));\n var cropBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-crop-box\"));\n var face = cropBox.querySelector(\".\".concat(NAMESPACE, \"-face\"));\n this.container = container;\n this.cropper = cropper;\n this.canvas = canvas;\n this.dragBox = dragBox;\n this.cropBox = cropBox;\n this.viewBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-view-box\"));\n this.face = face;\n canvas.appendChild(image); // Hide the original image\n\n addClass(element, CLASS_HIDDEN); // Inserts the cropper after to the current image\n\n container.insertBefore(cropper, element.nextSibling); // Show the image if is hidden\n\n if (!this.isImg) {\n removeClass(image, CLASS_HIDE);\n }\n\n this.initPreview();\n this.bind();\n options.initialAspectRatio = Math.max(0, options.initialAspectRatio) || NaN;\n options.aspectRatio = Math.max(0, options.aspectRatio) || NaN;\n options.viewMode = Math.max(0, Math.min(3, Math.round(options.viewMode))) || 0;\n addClass(cropBox, CLASS_HIDDEN);\n\n if (!options.guides) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-dashed\")), CLASS_HIDDEN);\n }\n\n if (!options.center) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-center\")), CLASS_HIDDEN);\n }\n\n if (options.background) {\n addClass(cropper, \"\".concat(NAMESPACE, \"-bg\"));\n }\n\n if (!options.highlight) {\n addClass(face, CLASS_INVISIBLE);\n }\n\n if (options.cropBoxMovable) {\n addClass(face, CLASS_MOVE);\n setData(face, DATA_ACTION, ACTION_ALL);\n }\n\n if (!options.cropBoxResizable) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-line\")), CLASS_HIDDEN);\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-point\")), CLASS_HIDDEN);\n }\n\n this.render();\n this.ready = true;\n this.setDragMode(options.dragMode);\n\n if (options.autoCrop) {\n this.crop();\n }\n\n this.setData(options.data);\n\n if (isFunction(options.ready)) {\n addListener(element, EVENT_READY, options.ready, {\n once: true\n });\n }\n\n dispatchEvent(element, EVENT_READY);\n }\n }, {\n key: \"unbuild\",\n value: function unbuild() {\n if (!this.ready) {\n return;\n }\n\n this.ready = false;\n this.unbind();\n this.resetPreview();\n this.cropper.parentNode.removeChild(this.cropper);\n removeClass(this.element, CLASS_HIDDEN);\n }\n }, {\n key: \"uncreate\",\n value: function uncreate() {\n if (this.ready) {\n this.unbuild();\n this.ready = false;\n this.cropped = false;\n } else if (this.sizing) {\n this.sizingImage.onload = null;\n this.sizing = false;\n this.sized = false;\n } else if (this.reloading) {\n this.xhr.onabort = null;\n this.xhr.abort();\n } else if (this.image) {\n this.stop();\n }\n }\n /**\n * Get the no conflict cropper class.\n * @returns {Cropper} The cropper class.\n */\n\n }], [{\n key: \"noConflict\",\n value: function noConflict() {\n window.Cropper = AnotherCropper;\n return Cropper;\n }\n /**\n * Change the default options.\n * @param {Object} options - The new default options.\n */\n\n }, {\n key: \"setDefaults\",\n value: function setDefaults(options) {\n assign(DEFAULTS, isPlainObject(options) && options);\n }\n }]);\n\n return Cropper;\n}();\n\nassign(Cropper.prototype, render, preview, events, handlers, change, methods);\n\nexport default Cropper;\n","const LANGUAGES_LIST = {\n aa: {\n name: 'Afar',\n nativeName: 'Afaraf',\n },\n ab: {\n name: 'Abkhaz',\n nativeName: 'аҧсуа бызшәа',\n },\n ae: {\n name: 'Avestan',\n nativeName: 'avesta',\n },\n af: {\n name: 'Afrikaans',\n nativeName: 'Afrikaans',\n },\n ak: {\n name: 'Akan',\n nativeName: 'Akan',\n },\n am: {\n name: 'Amharic',\n nativeName: 'አማርኛ',\n },\n an: {\n name: 'Aragonese',\n nativeName: 'aragonés',\n },\n ar: {\n name: 'Arabic',\n nativeName: 'اللغة العربية',\n },\n as: {\n name: 'Assamese',\n nativeName: 'অসমীয়া',\n },\n av: {\n name: 'Avaric',\n nativeName: 'авар мацӀ',\n },\n ay: {\n name: 'Aymara',\n nativeName: 'aymar aru',\n },\n az: {\n name: 'Azerbaijani',\n nativeName: 'azərbaycan dili',\n },\n ba: {\n name: 'Bashkir',\n nativeName: 'башҡорт теле',\n },\n be: {\n name: 'Belarusian',\n nativeName: 'беларуская мова',\n },\n bg: {\n name: 'Bulgarian',\n nativeName: 'български език',\n },\n bh: {\n name: 'Bihari',\n nativeName: 'भोजपुरी',\n },\n bi: {\n name: 'Bislama',\n nativeName: 'Bislama',\n },\n bm: {\n name: 'Bambara',\n nativeName: 'bamanankan',\n },\n bn: {\n name: 'Bengali',\n nativeName: 'বাংলা',\n },\n bo: {\n name: 'Tibetan Standard',\n nativeName: 'བོད་ཡིག',\n },\n br: {\n name: 'Breton',\n nativeName: 'brezhoneg',\n },\n bs: {\n name: 'Bosnian',\n nativeName: 'bosanski jezik',\n },\n ca: {\n name: 'Catalan',\n nativeName: 'català',\n },\n ce: {\n name: 'Chechen',\n nativeName: 'нохчийн мотт',\n },\n ch: {\n name: 'Chamorro',\n nativeName: 'Chamoru',\n },\n co: {\n name: 'Corsican',\n nativeName: 'corsu',\n },\n cr: {\n name: 'Cree',\n nativeName: 'ᓀᐦᐃᔭᐍᐏᐣ',\n },\n cs: {\n name: 'Czech',\n nativeName: 'čeština',\n },\n cu: {\n name: 'Old Church Slavonic',\n nativeName: 'ѩзыкъ словѣньскъ',\n },\n cv: {\n name: 'Chuvash',\n nativeName: 'чӑваш чӗлхи',\n },\n cy: {\n name: 'Welsh',\n nativeName: 'Cymraeg',\n },\n da: {\n name: 'Danish',\n nativeName: 'dansk',\n },\n de: {\n name: 'German',\n nativeName: 'Deutsch',\n },\n dv: {\n name: 'Divehi',\n nativeName: 'Dhivehi',\n },\n dz: {\n name: 'Dzongkha',\n nativeName: 'རྫོང་ཁ',\n },\n ee: {\n name: 'Ewe',\n nativeName: 'Eʋegbe',\n },\n el: {\n name: 'Greek',\n nativeName: 'ελληνικά',\n },\n en: {\n name: 'English',\n nativeName: 'English',\n },\n eo: {\n name: 'Esperanto',\n nativeName: 'Esperanto',\n },\n es: {\n name: 'Spanish',\n nativeName: 'Español',\n },\n et: {\n name: 'Estonian',\n nativeName: 'eesti',\n },\n eu: {\n name: 'Basque',\n nativeName: 'euskara',\n },\n fa: {\n name: 'Persian',\n nativeName: 'فارسی',\n },\n ff: {\n name: 'Fula',\n nativeName: 'Fulfulde',\n },\n fi: {\n name: 'Finnish',\n nativeName: 'suomi',\n },\n fj: {\n name: 'Fijian',\n nativeName: 'Vakaviti',\n },\n fo: {\n name: 'Faroese',\n nativeName: 'føroyskt',\n },\n fr: {\n name: 'French',\n nativeName: 'Français',\n },\n fy: {\n name: 'Western Frisian',\n nativeName: 'Frysk',\n },\n ga: {\n name: 'Irish',\n nativeName: 'Gaeilge',\n },\n gd: {\n name: 'Scottish Gaelic',\n nativeName: 'Gàidhlig',\n },\n gl: {\n name: 'Galician',\n nativeName: 'galego',\n },\n gn: {\n name: 'Guaraní',\n nativeName: \"Avañe'ẽ\",\n },\n gu: {\n name: 'Gujarati',\n nativeName: 'ગુજરાતી',\n },\n gv: {\n name: 'Manx',\n nativeName: 'Gaelg',\n },\n ha: {\n name: 'Hausa',\n nativeName: 'هَوُسَ',\n },\n he: {\n name: 'Hebrew',\n nativeName: 'עברית',\n },\n hi: {\n name: 'Hindi',\n nativeName: 'हिन्दी',\n },\n ho: {\n name: 'Hiri Motu',\n nativeName: 'Hiri Motu',\n },\n hr: {\n name: 'Croatian',\n nativeName: 'hrvatski jezik',\n },\n ht: {\n name: 'Haitian',\n nativeName: 'Kreyòl ayisyen',\n },\n hu: {\n name: 'Hungarian',\n nativeName: 'magyar',\n },\n hy: {\n name: 'Armenian',\n nativeName: 'Հայերեն',\n },\n hz: {\n name: 'Herero',\n nativeName: 'Otjiherero',\n },\n ia: {\n name: 'Interlingua',\n nativeName: 'Interlingua',\n },\n id: {\n name: 'Indonesian',\n nativeName: 'Indonesian',\n },\n ie: {\n name: 'Interlingue',\n nativeName: 'Interlingue',\n },\n ig: {\n name: 'Igbo',\n nativeName: 'Asụsụ Igbo',\n },\n ii: {\n name: 'Nuosu',\n nativeName: 'ꆈꌠ꒿ Nuosuhxop',\n },\n ik: {\n name: 'Inupiaq',\n nativeName: 'Iñupiaq',\n },\n io: {\n name: 'Ido',\n nativeName: 'Ido',\n },\n is: {\n name: 'Icelandic',\n nativeName: 'Íslenska',\n },\n it: {\n name: 'Italian',\n nativeName: 'Italiano',\n },\n iu: {\n name: 'Inuktitut',\n nativeName: 'ᐃᓄᒃᑎᑐᑦ',\n },\n ja: {\n name: 'Japanese',\n nativeName: '日本語',\n },\n jv: {\n name: 'Javanese',\n nativeName: 'basa Jawa',\n },\n ka: {\n name: 'Georgian',\n nativeName: 'ქართული',\n },\n kg: {\n name: 'Kongo',\n nativeName: 'Kikongo',\n },\n ki: {\n name: 'Kikuyu',\n nativeName: 'Gĩkũyũ',\n },\n kj: {\n name: 'Kwanyama',\n nativeName: 'Kuanyama',\n },\n kk: {\n name: 'Kazakh',\n nativeName: 'қазақ тілі',\n },\n kl: {\n name: 'Kalaallisut',\n nativeName: 'kalaallisut',\n },\n km: {\n name: 'Khmer',\n nativeName: 'ខេមរភាសា',\n },\n kn: {\n name: 'Kannada',\n nativeName: 'ಕನ್ನಡ',\n },\n ko: {\n name: 'Korean',\n nativeName: '한국어',\n },\n kr: {\n name: 'Kanuri',\n nativeName: 'Kanuri',\n },\n ks: {\n name: 'Kashmiri',\n nativeName: 'कश्मीरी',\n },\n ku: {\n name: 'Kurdish',\n nativeName: 'Kurdî',\n },\n kv: {\n name: 'Komi',\n nativeName: 'коми кыв',\n },\n kw: {\n name: 'Cornish',\n nativeName: 'Kernewek',\n },\n ky: {\n name: 'Kyrgyz',\n nativeName: 'Кыргызча',\n },\n la: {\n name: 'Latin',\n nativeName: 'latine',\n },\n lb: {\n name: 'Luxembourgish',\n nativeName: 'Lëtzebuergesch',\n },\n lg: {\n name: 'Ganda',\n nativeName: 'Luganda',\n },\n li: {\n name: 'Limburgish',\n nativeName: 'Limburgs',\n },\n ln: {\n name: 'Lingala',\n nativeName: 'Lingála',\n },\n lo: {\n name: 'Lao',\n nativeName: 'ພາສາ',\n },\n lt: {\n name: 'Lithuanian',\n nativeName: 'lietuvių kalba',\n },\n lu: {\n name: 'Luba-Katanga',\n nativeName: 'Tshiluba',\n },\n lv: {\n name: 'Latvian',\n nativeName: 'latviešu valoda',\n },\n mg: {\n name: 'Malagasy',\n nativeName: 'fiteny malagasy',\n },\n mh: {\n name: 'Marshallese',\n nativeName: 'Kajin M̧ajeļ',\n },\n mi: {\n name: 'Māori',\n nativeName: 'te reo Māori',\n },\n mk: {\n name: 'Macedonian',\n nativeName: 'македонски јазик',\n },\n ml: {\n name: 'Malayalam',\n nativeName: 'മലയാളം',\n },\n mn: {\n name: 'Mongolian',\n nativeName: 'Монгол хэл',\n },\n mr: {\n name: 'Marathi',\n nativeName: 'मराठी',\n },\n ms: {\n name: 'Malay',\n nativeName: 'هاس ملايو‎',\n },\n mt: {\n name: 'Maltese',\n nativeName: 'Malti',\n },\n my: {\n name: 'Burmese',\n nativeName: 'ဗမာစာ',\n },\n na: {\n name: 'Nauru',\n nativeName: 'Ekakairũ Naoero',\n },\n nb: {\n name: 'Norwegian Bokmål',\n nativeName: 'Norsk bokmål',\n },\n nd: {\n name: 'Northern Ndebele',\n nativeName: 'isiNdebele',\n },\n ne: {\n name: 'Nepali',\n nativeName: 'नेपाली',\n },\n ng: {\n name: 'Ndonga',\n nativeName: 'Owambo',\n },\n nl: {\n name: 'Dutch',\n nativeName: 'Nederlands',\n },\n nn: {\n name: 'Norwegian Nynorsk',\n nativeName: 'Norsk nynorsk',\n },\n no: {\n name: 'Norwegian',\n nativeName: 'Norsk',\n },\n nr: {\n name: 'Southern Ndebele',\n nativeName: 'isiNdebele',\n },\n nv: {\n name: 'Navajo',\n nativeName: 'Diné bizaad',\n },\n ny: {\n name: 'Chichewa',\n nativeName: 'chiCheŵa',\n },\n oc: {\n name: 'Occitan',\n nativeName: 'occitan',\n },\n oj: {\n name: 'Ojibwe',\n nativeName: 'ᐊᓂᔑᓈᐯᒧᐎᓐ',\n },\n om: {\n name: 'Oromo',\n nativeName: 'Afaan Oromoo',\n },\n or: {\n name: 'Oriya',\n nativeName: 'ଓଡ଼ିଆ',\n },\n os: {\n name: 'Ossetian',\n nativeName: 'ирон æвзаг',\n },\n pa: {\n name: 'Panjabi',\n nativeName: 'ਪੰਜਾਬੀ',\n },\n pi: {\n name: 'Pāli',\n nativeName: 'पाऴि',\n },\n pl: {\n name: 'Polish',\n nativeName: 'język polski',\n },\n ps: {\n name: 'Pashto',\n nativeName: 'پښتو',\n },\n pt: {\n name: 'Portuguese',\n nativeName: 'Português',\n },\n qu: {\n name: 'Quechua',\n nativeName: 'Runa Simi',\n },\n rm: {\n name: 'Romansh',\n nativeName: 'rumantsch grischun',\n },\n rn: {\n name: 'Kirundi',\n nativeName: 'Ikirundi',\n },\n ro: {\n name: 'Romanian',\n nativeName: 'limba română',\n },\n ru: {\n name: 'Russian',\n nativeName: 'Русский',\n },\n rw: {\n name: 'Kinyarwanda',\n nativeName: 'Ikinyarwanda',\n },\n sa: {\n name: 'Sanskrit',\n nativeName: 'संस्कृतम्',\n },\n sc: {\n name: 'Sardinian',\n nativeName: 'sardu',\n },\n sd: {\n name: 'Sindhi',\n nativeName: 'सिन्धी',\n },\n se: {\n name: 'Northern Sami',\n nativeName: 'Davvisámegiella',\n },\n sg: {\n name: 'Sango',\n nativeName: 'yângâ tî sängö',\n },\n si: {\n name: 'Sinhala',\n nativeName: 'සිංහල',\n },\n sk: {\n name: 'Slovak',\n nativeName: 'slovenčina',\n },\n sl: {\n name: 'Slovene',\n nativeName: 'slovenski jezik',\n },\n sm: {\n name: 'Samoan',\n nativeName: \"gagana fa'a Samoa\",\n },\n sn: {\n name: 'Shona',\n nativeName: 'chiShona',\n },\n so: {\n name: 'Somali',\n nativeName: 'Soomaaliga',\n },\n sq: {\n name: 'Albanian',\n nativeName: 'Shqip',\n },\n sr: {\n name: 'Serbian',\n nativeName: 'српски језик',\n },\n ss: {\n name: 'Swati',\n nativeName: 'SiSwati',\n },\n st: {\n name: 'Southern Sotho',\n nativeName: 'Sesotho',\n },\n su: {\n name: 'Sundanese',\n nativeName: 'Basa Sunda',\n },\n sv: {\n name: 'Swedish',\n nativeName: 'svenska',\n },\n sw: {\n name: 'Swahili',\n nativeName: 'Kiswahili',\n },\n ta: {\n name: 'Tamil',\n nativeName: 'தமிழ்',\n },\n te: {\n name: 'Telugu',\n nativeName: 'తెలుగు',\n },\n tg: {\n name: 'Tajik',\n nativeName: 'тоҷикӣ',\n },\n th: {\n name: 'Thai',\n nativeName: 'ไทย',\n },\n ti: {\n name: 'Tigrinya',\n nativeName: 'ትግርኛ',\n },\n tk: {\n name: 'Turkmen',\n nativeName: 'Türkmen',\n },\n tl: {\n name: 'Tagalog',\n nativeName: 'Wikang Tagalog',\n },\n tn: {\n name: 'Tswana',\n nativeName: 'Setswana',\n },\n to: {\n name: 'Tonga',\n nativeName: 'faka Tonga',\n },\n tr: {\n name: 'Turkish',\n nativeName: 'Türkçe',\n },\n ts: {\n name: 'Tsonga',\n nativeName: 'Xitsonga',\n },\n tt: {\n name: 'Tatar',\n nativeName: 'татар теле',\n },\n tw: {\n name: 'Twi',\n nativeName: 'Twi',\n },\n ty: {\n name: 'Tahitian',\n nativeName: 'Reo Tahiti',\n },\n ug: {\n name: 'Uyghur',\n nativeName: 'ئۇيغۇرچە‎',\n },\n uk: {\n name: 'Ukrainian',\n nativeName: 'Українська',\n },\n ur: {\n name: 'Urdu',\n nativeName: 'اردو',\n },\n uz: {\n name: 'Uzbek',\n nativeName: 'Ўзбек',\n },\n ve: {\n name: 'Venda',\n nativeName: 'Tshivenḓa',\n },\n vi: {\n name: 'Vietnamese',\n nativeName: 'Tiếng Việt',\n },\n vo: {\n name: 'Volapük',\n nativeName: 'Volapük',\n },\n wa: {\n name: 'Walloon',\n nativeName: 'walon',\n },\n wo: {\n name: 'Wolof',\n nativeName: 'Wollof',\n },\n xh: {\n name: 'Xhosa',\n nativeName: 'isiXhosa',\n },\n yi: {\n name: 'Yiddish',\n nativeName: 'ייִדיש',\n },\n yo: {\n name: 'Yoruba',\n nativeName: 'Yorùbá',\n },\n za: {\n name: 'Zhuang',\n nativeName: 'Saɯ cueŋƅ',\n },\n zh: {\n name: 'Chinese',\n nativeName: '中文',\n },\n zu: {\n name: 'Zulu',\n nativeName: 'isiZulu',\n },\n};\n\nexport default LANGUAGES_LIST;\n","import LANGUAGES_LIST from './data';\n\nexport default class ISO6391 {\n static getLanguages(codes = []) {\n return codes.map(code => ({\n code,\n name: ISO6391.getName(code),\n nativeName: ISO6391.getNativeName(code),\n }));\n }\n\n static getName(code) {\n return ISO6391.validate(code) ? LANGUAGES_LIST[code].name : '';\n }\n\n static getAllNames() {\n return Object.values(LANGUAGES_LIST).map(l => l.name);\n }\n\n static getNativeName(code) {\n return ISO6391.validate(code) ? LANGUAGES_LIST[code].nativeName : '';\n }\n\n static getAllNativeNames() {\n return Object.values(LANGUAGES_LIST).map(l => l.nativeName);\n }\n\n static getCode(name) {\n const code = Object.keys(LANGUAGES_LIST).find(code => {\n const language = LANGUAGES_LIST[code];\n\n return (\n language.name.toLowerCase() === name.toLowerCase() ||\n language.nativeName.toLowerCase() === name.toLowerCase()\n );\n });\n return code || '';\n }\n\n static getAllCodes() {\n return Object.keys(LANGUAGES_LIST);\n }\n\n static validate(code) {\n return LANGUAGES_LIST[code] !== undefined;\n }\n}\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///./node_modules/@babel/runtime/helpers/toArray.js","webpack:///./node_modules/lodash/trim.js","webpack:///./node_modules/lodash/_charsEndIndex.js","webpack:///./node_modules/lodash/_charsStartIndex.js","webpack:///./node_modules/@chenfengyuan/vue-qrcode/dist/vue-qrcode.esm.js","webpack:///./node_modules/cropperjs/dist/cropper.esm.js","webpack:///./node_modules/iso-639-1/src/data.js","webpack:///./node_modules/iso-639-1/src/index.js"],"names":["arrayWithHoles","iterableToArray","nonIterableRest","module","exports","arr","baseToString","castSlice","charsEndIndex","charsStartIndex","stringToArray","toString","reTrim","string","chars","guard","undefined","replace","strSymbols","chrSymbols","start","end","join","baseIndexOf","index","length","commonjsGlobal","window","global","self","commonjsRequire","Error","qrcode","fn","createCommonjsModule","r","e","n","t","o","i","f","u","a","code","p","call","1","require","getSymbolSize","getRowColCoords","version","posCount","Math","floor","size","intervals","ceil","positions","push","reverse","getPositions","coords","pos","posLength","j","2","Mode","ALPHA_NUM_CHARS","AlphanumericData","data","this","mode","ALPHANUMERIC","getBitsLength","prototype","getLength","write","bitBuffer","value","indexOf","put","3","BitBuffer","buffer","get","bufIndex","num","putBit","getLengthInBits","bit","4","Buffer","BitMatrix","fill","reservedBit","set","row","col","reserved","xor","isReserved","5","ByteData","BYTE","l","6","ECLevel","EC_BLOCKS_TABLE","EC_CODEWORDS_TABLE","getBlocksCount","errorCorrectionLevel","L","M","Q","H","getTotalCodewordsCount","7","isValid","level","from","defaultValue","toLowerCase","fromString","8","9","Utils","G15_BCH","getBCHDigit","getEncodedBits","mask","d","10","EXP_TABLE","LOG_TABLE","x","log","exp","mul","y","11","KanjiData","KANJI","toSJIS","12","Patterns","PATTERN000","PATTERN001","PATTERN010","PATTERN011","PATTERN100","PATTERN101","PATTERN110","PATTERN111","PenaltyScores","getMaskAt","maskPattern","isNaN","parseInt","getPenaltyN1","points","sameCountCol","sameCountRow","lastCol","lastRow","getPenaltyN2","last","getPenaltyN3","bitsCol","bitsRow","getPenaltyN4","darkCount","modulesCount","abs","applyMask","pattern","getBestMask","setupFormatFunc","numPatterns","Object","keys","bestPattern","lowerPenalty","Infinity","penalty","13","VersionCheck","Regex","NUMERIC","id","ccBits","MIXED","getCharCountIndicator","getBestModeForData","dataStr","testNumeric","testAlphanumeric","testKanji","14","NumericData","group","substr","remainingNum","15","GF","p1","p2","coeff","mod","divident","divisor","result","offset","slice","generateECPolynomial","degree","poly","16","AlignmentPattern","FinderPattern","MaskPattern","ECCode","ReedSolomonEncoder","Version","FormatInfo","Segments","isArray","setupFormatInfo","matrix","bits","createData","segments","forEach","dataTotalCodewordsBits","getSymbolTotalCodewords","remainingByte","totalCodewords","ecTotalCodewords","dataTotalCodewords","ecTotalBlocks","blocksInGroup1","totalCodewordsInGroup1","dataCodewordsInGroup1","dataCodewordsInGroup2","ecCount","rs","dcData","Array","ecData","maxDataSize","b","dataSize","encode","max","createCodewords","createSymbol","fromArray","estimatedVersion","rawSegments","rawSplit","getBestVersionForData","bestVersion","dataBits","moduleCount","modules","c","setupFinderPattern","setupTimingPattern","setupAlignmentPattern","setupVersionInfo","inc","bitIndex","byteIndex","dark","setupData","bind","create","options","toSJISFunc","setToSJISFunction","17","Polynomial","genPoly","initialize","pad","paddedData","concat","remainder","buff","copy","18","kanji","byte","RegExp","BYTE_KANJI","TEST_KANJI","TEST_NUMERIC","TEST_ALPHANUMERIC","str","test","19","dijkstra","getStringByteLength","unescape","encodeURIComponent","getSegments","regex","exec","getSegmentsFromString","byteSegs","kanjiSegs","numSegs","alphaNumSegs","isKanjiModeEnabled","sort","s1","s2","map","obj","getSegmentBitsLength","buildSingleSegment","modesHint","bestMode","array","reduce","acc","seg","graph","nodes","table","prevNodeIds","nodeGroup","currentNodeIds","node","key","lastCount","prevNodeId","buildGraph","segs","buildNodes","path","find_path","optimizedSegs","curr","prevSeg","mergeSegments","20","toSJISFunction","CODEWORDS_COUNT","digit","21","22","G18_BCH","getReservedBitsCount","getTotalBitsFromDataArray","totalBits","reservedBits","getCapacity","usableBits","ecl","currentVersion","getBestVersionForMixedData","getBestVersionForDataLength","23","canPromise","QRCode","CanvasRenderer","SvgRenderer","renderCanvas","renderFunc","canvas","text","opts","cb","args","arguments","argsNum","isLastArgCb","getContext","Promise","resolve","reject","toCanvas","render","toDataURL","renderToDataURL","_","24","qrData","canvasEl","document","createElement","getCanvasElement","getOptions","getImageWidth","ctx","image","createImageData","qrToImageData","clearRect","width","height","style","clearCanvas","putImageData","type","rendererOpts","quality","25","getColorAttrib","color","attrib","alpha","hex","toFixed","svgCmd","cmd","qrcodesize","margin","bg","light","moveBy","newRow","lineLength","qrToPath","viewBox","svgTag","26","hex2rgba","hexCode","split","apply","hexValue","g","scale","getScale","qrSize","imgData","qr","symbolSize","scaledMargin","palette","posDst","pxColor","27","TYPED_ARRAY_SUPPORT","Uint8Array","__proto__","foo","typedArraySupport","K_MAX_LENGTH","arg","allocUnsafe","that","TypeError","ArrayBuffer","byteOffset","byteLength","RangeError","buf","fromArrayLike","fromArrayBuffer","createBuffer","actual","isBuffer","len","checked","val","fromObject","utf8ToBytes","units","codePoint","leadSurrogate","bytes","charCodeAt","isView","Symbol","species","defineProperty","configurable","enumerable","writable","isFinite","remaining","src","dst","blitBuffer","utf8Write","newBuf","subarray","sliceLen","target","targetStart","list","_isBuffer","28","G","then","29","single_source_shortest_paths","s","predecessors","costs","closest","v","cost_of_s_to_u","adjacent_nodes","cost_of_s_to_u_plus_cost_of_e","cost_of_s_to_v","open","PriorityQueue","make","empty","pop","cost","hasOwnProperty","msg","extract_shortest_path_from_predecessor_list","T","queue","sorter","default_sorter","item","shift","30","31","name","props","tag","String","default","$slots","watch","$props","deep","immediate","handler","$el","generate","methods","_this","error","url","innerHTML","mounted","_typeof","iterator","constructor","_classCallCheck","instance","Constructor","_defineProperties","descriptor","_toConsumableArray","arr2","_arrayWithoutHoles","iter","_iterableToArray","_nonIterableSpread","IN_BROWSER","WINDOW","CLASS_CROP","CLASS_DISABLED","CLASS_HIDDEN","CLASS_HIDE","CLASS_INVISIBLE","CLASS_MODAL","CLASS_MOVE","DATA_ACTION","DATA_PREVIEW","EVENT_POINTER_DOWN","PointerEvent","EVENT_POINTER_MOVE","EVENT_POINTER_UP","REGEXP_ACTIONS","REGEXP_DATA_URL","REGEXP_DATA_URL_JPEG","REGEXP_TAG_NAME","DEFAULTS","viewMode","dragMode","initialAspectRatio","NaN","aspectRatio","preview","responsive","restore","checkCrossOrigin","checkOrientation","modal","guides","center","highlight","background","autoCrop","autoCropArea","movable","rotatable","scalable","zoomable","zoomOnTouch","zoomOnWheel","wheelZoomRatio","cropBoxMovable","cropBoxResizable","toggleDragModeOnDblclick","minCanvasWidth","minCanvasHeight","minCropBoxWidth","minCropBoxHeight","minContainerWidth","minContainerHeight","ready","cropstart","cropmove","cropend","crop","zoom","Number","isNumber","isUndefined","isObject","isPlainObject","_constructor","isFunction","callback","assign","_len","_key","REGEXP_DECIMALS","normalizeDecimalNumber","times","round","REGEXP_SUFFIX","setStyle","element","styles","property","addClass","elem","classList","add","className","trim","removeClass","remove","toggleClass","added","REGEXP_HYPHENATE","hyphenate","getData","dataset","getAttribute","setData","setAttribute","REGEXP_SPACES","onceSupported","supported","once","listener","addEventListener","removeEventListener","removeListener","event","listeners","addListener","_handler","_element$listeners","_len2","_key2","dispatchEvent","Event","CustomEvent","detail","bubbles","cancelable","createEvent","initCustomEvent","getOffset","box","getBoundingClientRect","left","pageXOffset","documentElement","clientLeft","top","pageYOffset","clientTop","location","REGEXP_ORIGINS","isCrossOriginURL","parts","match","protocol","hostname","port","addTimestamp","timestamp","Date","getTime","getTransforms","_ref","rotate","scaleX","scaleY","translateX","translateY","values","transform","WebkitTransform","msTransform","getPointer","_ref2","endOnly","pageX","pageY","endX","endY","startX","startY","getAdjustedSizes","_ref4","isValidNumber","adjustedWidth","getSourceCanvas","_ref6","_ref7","_ref8","imageAspectRatio","imageNaturalWidth","naturalWidth","imageNaturalHeight","naturalHeight","_ref6$rotate","_ref6$scaleX","_ref6$scaleY","_ref8$fillColor","fillColor","_ref8$imageSmoothingE","imageSmoothingEnabled","_ref8$imageSmoothingQ","imageSmoothingQuality","_ref8$maxWidth","maxWidth","_ref8$maxHeight","maxHeight","_ref8$minWidth","minWidth","_ref8$minHeight","minHeight","context","maxSizes","minSizes","min","destMaxSizes","destMinSizes","destWidth","destHeight","params","fillStyle","fillRect","save","translate","PI","drawImage","param","fromCharCode","REGEXP_DATA_URL_HEAD","resetAndGetOrientation","arrayBuffer","orientation","dataView","DataView","littleEndian","app1Start","ifdStart","getUint8","tiffOffset","getStringFromCharCode","endianness","getUint16","firstIFDOffset","getUint32","_offset","_length","setUint16","initContainer","initCanvas","initCropBox","cropped","renderCropBox","container","cropper","containerData","offsetWidth","offsetHeight","imageData","rotated","canvasWidth","canvasHeight","canvasData","oldLeft","oldTop","limited","limitCanvas","initialImageData","initialCanvasData","sizeLimited","positionLimited","cropBoxData","_getAdjustedSizes","newCanvasLeft","newCanvasTop","minLeft","minTop","maxLeft","maxTop","changed","transformed","_getRotatedSizes","_ref5","arc","sinArc","sin","cosArc","cos","newWidth","newHeight","getRotatedSizes","renderImage","limitCropBox","output","initialCropBoxData","maxCropBoxWidth","maxCropBoxHeight","face","cropBox","disabled","initPreview","crossOrigin","crossOriginUrl","appendChild","viewBoxImage","previews","ownerDocument","querySelectorAll","querySelector","el","img","html","cssText","resetPreview","removeAttribute","removeData","cropBoxWidth","cropBoxHeight","originalWidth","originalHeight","ratio","getElementsByTagName","events","onCropStart","cropStart","onWheel","wheel","onDblclick","dblclick","onCropMove","cropMove","onCropEnd","cropEnd","onResize","resize","unbind","handlers","getCanvasData","getCropBoxData","setCanvasData","setCropBoxData","setDragMode","dragBox","contains","delta","preventDefault","wheeling","setTimeout","deltaY","wheelDelta","action","pointers","changedTouches","touch","identifier","pointerId","originalEvent","cropping","change","right","bottom","renderable","shiftKey","pointer","range","check","side","move","pointers2","ratios","pointer2","x1","y1","x2","y2","z1","sqrt","getMaxZoomRatio","reset","clear","hasSameSize","isImg","replaced","uncreate","load","enable","disable","destroy","originalUrl","offsetX","offsetY","_this$canvasData","moveTo","_originalEvent","zoomTo","pivot","oldRatio","count","_ref3","getPointersCenter","rotateTo","_scaleX","_scaleY","rounded","getContainerData","getImageData","sized","widthChanged","heightChanged","getCroppedCanvas","HTMLCanvasElement","source","_this$getData","initialX","initialY","initialWidth","initialHeight","_options$imageSmoothi","srcWidth","srcHeight","dstX","dstY","dstWidth","dstHeight","sourceWidth","sourceHeight","srcX","srcY","setAspectRatio","croppable","AnotherCropper","Cropper","tagName","reloading","sizing","init","protoProps","staticProps","read","base64","binary","atob","uint8","clone","xhr","XMLHttpRequest","ontimeout","onabort","onerror","onprogress","getResponseHeader","abort","onload","response","onloadend","responseType","withCredentials","send","mimeType","chunks","btoa","arrayBufferToDataURL","_parseOrientation","parseOrientation","stop","parentNode","insertBefore","nextSibling","_this2","IS_SAFARI","navigator","userAgent","done","build","sizingImage","body","removeChild","template","getElementsByClassName","unbuild","aa","nativeName","ab","ae","af","ak","am","an","ar","as","av","ay","az","ba","be","bh","bi","bm","bn","bo","br","bs","ca","ce","ch","co","cr","cs","cu","cv","cy","da","de","dv","dz","ee","en","eo","es","et","eu","fa","ff","fi","fj","fo","fr","fy","ga","gd","gl","gn","gu","gv","ha","he","hi","ho","hr","ht","hu","hy","hz","ia","ie","ig","ii","ik","io","is","it","iu","ja","jv","ka","kg","ki","kj","kk","kl","km","kn","ko","kr","ks","ku","kv","kw","ky","la","lb","lg","li","ln","lo","lt","lu","lv","mg","mh","mi","mk","ml","mn","mr","ms","mt","my","na","nb","nd","ne","ng","nl","nn","no","nr","nv","ny","oc","oj","om","or","os","pa","pi","pl","ps","pt","qu","rm","rn","ro","ru","rw","sa","sc","sd","se","sg","si","sk","sl","sm","sn","so","sq","sr","ss","st","su","sv","sw","ta","te","tg","th","ti","tk","tl","tn","to","tr","ts","tt","tw","ty","ug","uk","ur","uz","ve","vi","vo","wa","wo","xh","yi","yo","za","zh","zu","codes","getName","getNativeName","validate","find","language"],"mappings":"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","file":"static/js/3.bde677e65143f0cd1105.js","sourcesContent":["var arrayWithHoles = require(\"./arrayWithHoles\");\n\nvar iterableToArray = require(\"./iterableToArray\");\n\nvar nonIterableRest = require(\"./nonIterableRest\");\n\nfunction _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || nonIterableRest();\n}\n\nmodule.exports = _toArray;","var baseToString = require('./_baseToString'),\n castSlice = require('./_castSlice'),\n charsEndIndex = require('./_charsEndIndex'),\n charsStartIndex = require('./_charsStartIndex'),\n stringToArray = require('./_stringToArray'),\n toString = require('./toString');\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/**\n * Removes leading and trailing whitespace or specified characters from `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to trim.\n * @param {string} [chars=whitespace] The characters to trim.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the trimmed string.\n * @example\n *\n * _.trim(' abc ');\n * // => 'abc'\n *\n * _.trim('-_-abc-_-', '_-');\n * // => 'abc'\n *\n * _.map([' foo ', ' bar '], _.trim);\n * // => ['foo', 'bar']\n */\nfunction trim(string, chars, guard) {\n string = toString(string);\n if (string && (guard || chars === undefined)) {\n return string.replace(reTrim, '');\n }\n if (!string || !(chars = baseToString(chars))) {\n return string;\n }\n var strSymbols = stringToArray(string),\n chrSymbols = stringToArray(chars),\n start = charsStartIndex(strSymbols, chrSymbols),\n end = charsEndIndex(strSymbols, chrSymbols) + 1;\n\n return castSlice(strSymbols, start, end).join('');\n}\n\nmodule.exports = trim;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the last unmatched string symbol.\n */\nfunction charsEndIndex(strSymbols, chrSymbols) {\n var index = strSymbols.length;\n\n while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n}\n\nmodule.exports = charsEndIndex;\n","var baseIndexOf = require('./_baseIndexOf');\n\n/**\n * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the first unmatched string symbol.\n */\nfunction charsStartIndex(strSymbols, chrSymbols) {\n var index = -1,\n length = strSymbols.length;\n\n while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n}\n\nmodule.exports = charsStartIndex;\n","/*!\n * vue-qrcode v1.0.0\n * https://fengyuanchen.github.io/vue-qrcode\n *\n * Copyright 2018-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2018-10-21T13:04:02.951Z\n */\n\nvar commonjsGlobal = typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nfunction commonjsRequire () {\n\tthrow new Error('Dynamic requires are not currently supported by rollup-plugin-commonjs');\n}\n\nfunction createCommonjsModule(fn, module) {\n\treturn module = { exports: {} }, fn(module, module.exports), module.exports;\n}\n\nvar qrcode = createCommonjsModule(function (module, exports) {\n(function(f){{module.exports=f();}})(function(){return (function(){function r(e,n,t){function o(i,f){if(!n[i]){if(!e[i]){var c=\"function\"==typeof commonjsRequire&&commonjsRequire;if(!f&&c)return c(i,!0);if(u)return u(i,!0);var a=new Error(\"Cannot find module '\"+i+\"'\");throw a.code=\"MODULE_NOT_FOUND\",a}var p=n[i]={exports:{}};e[i][0].call(p.exports,function(r){var n=e[i][1][r];return o(n||r)},p,p.exports,r,e,n,t);}return n[i].exports}for(var u=\"function\"==typeof commonjsRequire&&commonjsRequire,i=0;i>> (7 - index % 8)) & 1) === 1\n },\n\n put: function (num, length) {\n for (var i = 0; i < length; i++) {\n this.putBit(((num >>> (length - i - 1)) & 1) === 1);\n }\n },\n\n getLengthInBits: function () {\n return this.length\n },\n\n putBit: function (bit) {\n var bufIndex = Math.floor(this.length / 8);\n if (this.buffer.length <= bufIndex) {\n this.buffer.push(0);\n }\n\n if (bit) {\n this.buffer[bufIndex] |= (0x80 >>> (this.length % 8));\n }\n\n this.length++;\n }\n};\n\nmodule.exports = BitBuffer;\n\n},{}],4:[function(require,module,exports){\nvar Buffer = require('../utils/buffer');\n\n/**\n * Helper class to handle QR Code symbol modules\n *\n * @param {Number} size Symbol size\n */\nfunction BitMatrix (size) {\n if (!size || size < 1) {\n throw new Error('BitMatrix size must be defined and greater than 0')\n }\n\n this.size = size;\n this.data = new Buffer(size * size);\n this.data.fill(0);\n this.reservedBit = new Buffer(size * size);\n this.reservedBit.fill(0);\n}\n\n/**\n * Set bit value at specified location\n * If reserved flag is set, this bit will be ignored during masking process\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n * @param {Boolean} reserved\n */\nBitMatrix.prototype.set = function (row, col, value, reserved) {\n var index = row * this.size + col;\n this.data[index] = value;\n if (reserved) this.reservedBit[index] = true;\n};\n\n/**\n * Returns bit value at specified location\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.get = function (row, col) {\n return this.data[row * this.size + col]\n};\n\n/**\n * Applies xor operator at specified location\n * (used during masking process)\n *\n * @param {Number} row\n * @param {Number} col\n * @param {Boolean} value\n */\nBitMatrix.prototype.xor = function (row, col, value) {\n this.data[row * this.size + col] ^= value;\n};\n\n/**\n * Check if bit at specified location is reserved\n *\n * @param {Number} row\n * @param {Number} col\n * @return {Boolean}\n */\nBitMatrix.prototype.isReserved = function (row, col) {\n return this.reservedBit[row * this.size + col]\n};\n\nmodule.exports = BitMatrix;\n\n},{\"../utils/buffer\":27}],5:[function(require,module,exports){\nvar Buffer = require('../utils/buffer');\nvar Mode = require('./mode');\n\nfunction ByteData (data) {\n this.mode = Mode.BYTE;\n this.data = new Buffer(data);\n}\n\nByteData.getBitsLength = function getBitsLength (length) {\n return length * 8\n};\n\nByteData.prototype.getLength = function getLength () {\n return this.data.length\n};\n\nByteData.prototype.getBitsLength = function getBitsLength () {\n return ByteData.getBitsLength(this.data.length)\n};\n\nByteData.prototype.write = function (bitBuffer) {\n for (var i = 0, l = this.data.length; i < l; i++) {\n bitBuffer.put(this.data[i], 8);\n }\n};\n\nmodule.exports = ByteData;\n\n},{\"../utils/buffer\":27,\"./mode\":13}],6:[function(require,module,exports){\nvar ECLevel = require('./error-correction-level');\r\n\r\nvar EC_BLOCKS_TABLE = [\r\n// L M Q H\r\n 1, 1, 1, 1,\r\n 1, 1, 1, 1,\r\n 1, 1, 2, 2,\r\n 1, 2, 2, 4,\r\n 1, 2, 4, 4,\r\n 2, 4, 4, 4,\r\n 2, 4, 6, 5,\r\n 2, 4, 6, 6,\r\n 2, 5, 8, 8,\r\n 4, 5, 8, 8,\r\n 4, 5, 8, 11,\r\n 4, 8, 10, 11,\r\n 4, 9, 12, 16,\r\n 4, 9, 16, 16,\r\n 6, 10, 12, 18,\r\n 6, 10, 17, 16,\r\n 6, 11, 16, 19,\r\n 6, 13, 18, 21,\r\n 7, 14, 21, 25,\r\n 8, 16, 20, 25,\r\n 8, 17, 23, 25,\r\n 9, 17, 23, 34,\r\n 9, 18, 25, 30,\r\n 10, 20, 27, 32,\r\n 12, 21, 29, 35,\r\n 12, 23, 34, 37,\r\n 12, 25, 34, 40,\r\n 13, 26, 35, 42,\r\n 14, 28, 38, 45,\r\n 15, 29, 40, 48,\r\n 16, 31, 43, 51,\r\n 17, 33, 45, 54,\r\n 18, 35, 48, 57,\r\n 19, 37, 51, 60,\r\n 19, 38, 53, 63,\r\n 20, 40, 56, 66,\r\n 21, 43, 59, 70,\r\n 22, 45, 62, 74,\r\n 24, 47, 65, 77,\r\n 25, 49, 68, 81\r\n];\r\n\r\nvar EC_CODEWORDS_TABLE = [\r\n// L M Q H\r\n 7, 10, 13, 17,\r\n 10, 16, 22, 28,\r\n 15, 26, 36, 44,\r\n 20, 36, 52, 64,\r\n 26, 48, 72, 88,\r\n 36, 64, 96, 112,\r\n 40, 72, 108, 130,\r\n 48, 88, 132, 156,\r\n 60, 110, 160, 192,\r\n 72, 130, 192, 224,\r\n 80, 150, 224, 264,\r\n 96, 176, 260, 308,\r\n 104, 198, 288, 352,\r\n 120, 216, 320, 384,\r\n 132, 240, 360, 432,\r\n 144, 280, 408, 480,\r\n 168, 308, 448, 532,\r\n 180, 338, 504, 588,\r\n 196, 364, 546, 650,\r\n 224, 416, 600, 700,\r\n 224, 442, 644, 750,\r\n 252, 476, 690, 816,\r\n 270, 504, 750, 900,\r\n 300, 560, 810, 960,\r\n 312, 588, 870, 1050,\r\n 336, 644, 952, 1110,\r\n 360, 700, 1020, 1200,\r\n 390, 728, 1050, 1260,\r\n 420, 784, 1140, 1350,\r\n 450, 812, 1200, 1440,\r\n 480, 868, 1290, 1530,\r\n 510, 924, 1350, 1620,\r\n 540, 980, 1440, 1710,\r\n 570, 1036, 1530, 1800,\r\n 570, 1064, 1590, 1890,\r\n 600, 1120, 1680, 1980,\r\n 630, 1204, 1770, 2100,\r\n 660, 1260, 1860, 2220,\r\n 720, 1316, 1950, 2310,\r\n 750, 1372, 2040, 2430\r\n];\r\n\r\n/**\r\n * Returns the number of error correction block that the QR Code should contain\r\n * for the specified version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction blocks\r\n */\r\nexports.getBlocksCount = function getBlocksCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_BLOCKS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n};\r\n\r\n/**\r\n * Returns the number of error correction codewords to use for the specified\r\n * version and error correction level.\r\n *\r\n * @param {Number} version QR Code version\r\n * @param {Number} errorCorrectionLevel Error correction level\r\n * @return {Number} Number of error correction codewords\r\n */\r\nexports.getTotalCodewordsCount = function getTotalCodewordsCount (version, errorCorrectionLevel) {\r\n switch (errorCorrectionLevel) {\r\n case ECLevel.L:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 0]\r\n case ECLevel.M:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 1]\r\n case ECLevel.Q:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 2]\r\n case ECLevel.H:\r\n return EC_CODEWORDS_TABLE[(version - 1) * 4 + 3]\r\n default:\r\n return undefined\r\n }\r\n};\r\n\n},{\"./error-correction-level\":7}],7:[function(require,module,exports){\nexports.L = { bit: 1 };\nexports.M = { bit: 0 };\nexports.Q = { bit: 3 };\nexports.H = { bit: 2 };\n\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n var lcStr = string.toLowerCase();\n\n switch (lcStr) {\n case 'l':\n case 'low':\n return exports.L\n\n case 'm':\n case 'medium':\n return exports.M\n\n case 'q':\n case 'quartile':\n return exports.Q\n\n case 'h':\n case 'high':\n return exports.H\n\n default:\n throw new Error('Unknown EC Level: ' + string)\n }\n}\n\nexports.isValid = function isValid (level) {\n return level && typeof level.bit !== 'undefined' &&\n level.bit >= 0 && level.bit < 4\n};\n\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n};\n\n},{}],8:[function(require,module,exports){\nvar getSymbolSize = require('./utils').getSymbolSize;\nvar FINDER_PATTERN_SIZE = 7;\n\n/**\n * Returns an array containing the positions of each finder pattern.\n * Each array's element represent the top-left point of the pattern as (x, y) coordinates\n *\n * @param {Number} version QR Code version\n * @return {Array} Array of coordinates\n */\nexports.getPositions = function getPositions (version) {\n var size = getSymbolSize(version);\n\n return [\n // top-left\n [0, 0],\n // top-right\n [size - FINDER_PATTERN_SIZE, 0],\n // bottom-left\n [0, size - FINDER_PATTERN_SIZE]\n ]\n};\n\n},{\"./utils\":20}],9:[function(require,module,exports){\nvar Utils = require('./utils');\n\nvar G15 = (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0);\nvar G15_MASK = (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1);\nvar G15_BCH = Utils.getBCHDigit(G15);\n\n/**\n * Returns format information with relative error correction bits\n *\n * The format information is a 15-bit sequence containing 5 data bits,\n * with 10 error correction bits calculated using the (15, 5) BCH code.\n *\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Number} mask Mask pattern\n * @return {Number} Encoded format information bits\n */\nexports.getEncodedBits = function getEncodedBits (errorCorrectionLevel, mask) {\n var data = ((errorCorrectionLevel.bit << 3) | mask);\n var d = data << 10;\n\n while (Utils.getBCHDigit(d) - G15_BCH >= 0) {\n d ^= (G15 << (Utils.getBCHDigit(d) - G15_BCH));\n }\n\n // xor final data with mask pattern in order to ensure that\n // no combination of Error Correction Level and data mask pattern\n // will result in an all-zero data string\n return ((data << 10) | d) ^ G15_MASK\n};\n\n},{\"./utils\":20}],10:[function(require,module,exports){\nvar Buffer = require('../utils/buffer');\n\nvar EXP_TABLE = new Buffer(512);\nvar LOG_TABLE = new Buffer(256)\n\n/**\n * Precompute the log and anti-log tables for faster computation later\n *\n * For each possible value in the galois field 2^8, we will pre-compute\n * the logarithm and anti-logarithm (exponential) of this value\n *\n * ref {@link https://en.wikiversity.org/wiki/Reed%E2%80%93Solomon_codes_for_coders#Introduction_to_mathematical_fields}\n */\n;(function initTables () {\n var x = 1;\n for (var i = 0; i < 255; i++) {\n EXP_TABLE[i] = x;\n LOG_TABLE[x] = i;\n\n x <<= 1; // multiply by 2\n\n // The QR code specification says to use byte-wise modulo 100011101 arithmetic.\n // This means that when a number is 256 or larger, it should be XORed with 0x11D.\n if (x & 0x100) { // similar to x >= 256, but a lot faster (because 0x100 == 256)\n x ^= 0x11D;\n }\n }\n\n // Optimization: double the size of the anti-log table so that we don't need to mod 255 to\n // stay inside the bounds (because we will mainly use this table for the multiplication of\n // two GF numbers, no more).\n // @see {@link mul}\n for (i = 255; i < 512; i++) {\n EXP_TABLE[i] = EXP_TABLE[i - 255];\n }\n}());\n\n/**\n * Returns log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.log = function log (n) {\n if (n < 1) throw new Error('log(' + n + ')')\n return LOG_TABLE[n]\n};\n\n/**\n * Returns anti-log value of n inside Galois Field\n *\n * @param {Number} n\n * @return {Number}\n */\nexports.exp = function exp (n) {\n return EXP_TABLE[n]\n};\n\n/**\n * Multiplies two number inside Galois Field\n *\n * @param {Number} x\n * @param {Number} y\n * @return {Number}\n */\nexports.mul = function mul (x, y) {\n if (x === 0 || y === 0) return 0\n\n // should be EXP_TABLE[(LOG_TABLE[x] + LOG_TABLE[y]) % 255] if EXP_TABLE wasn't oversized\n // @see {@link initTables}\n return EXP_TABLE[LOG_TABLE[x] + LOG_TABLE[y]]\n};\n\n},{\"../utils/buffer\":27}],11:[function(require,module,exports){\nvar Mode = require('./mode');\nvar Utils = require('./utils');\n\nfunction KanjiData (data) {\n this.mode = Mode.KANJI;\n this.data = data;\n}\n\nKanjiData.getBitsLength = function getBitsLength (length) {\n return length * 13\n};\n\nKanjiData.prototype.getLength = function getLength () {\n return this.data.length\n};\n\nKanjiData.prototype.getBitsLength = function getBitsLength () {\n return KanjiData.getBitsLength(this.data.length)\n};\n\nKanjiData.prototype.write = function (bitBuffer) {\n var i;\n\n // In the Shift JIS system, Kanji characters are represented by a two byte combination.\n // These byte values are shifted from the JIS X 0208 values.\n // JIS X 0208 gives details of the shift coded representation.\n for (i = 0; i < this.data.length; i++) {\n var value = Utils.toSJIS(this.data[i]);\n\n // For characters with Shift JIS values from 0x8140 to 0x9FFC:\n if (value >= 0x8140 && value <= 0x9FFC) {\n // Subtract 0x8140 from Shift JIS value\n value -= 0x8140;\n\n // For characters with Shift JIS values from 0xE040 to 0xEBBF\n } else if (value >= 0xE040 && value <= 0xEBBF) {\n // Subtract 0xC140 from Shift JIS value\n value -= 0xC140;\n } else {\n throw new Error(\n 'Invalid SJIS character: ' + this.data[i] + '\\n' +\n 'Make sure your charset is UTF-8')\n }\n\n // Multiply most significant byte of result by 0xC0\n // and add least significant byte to product\n value = (((value >>> 8) & 0xff) * 0xC0) + (value & 0xff);\n\n // Convert result to a 13-bit binary string\n bitBuffer.put(value, 13);\n }\n};\n\nmodule.exports = KanjiData;\n\n},{\"./mode\":13,\"./utils\":20}],12:[function(require,module,exports){\n/**\n * Data mask pattern reference\n * @type {Object}\n */\nexports.Patterns = {\n PATTERN000: 0,\n PATTERN001: 1,\n PATTERN010: 2,\n PATTERN011: 3,\n PATTERN100: 4,\n PATTERN101: 5,\n PATTERN110: 6,\n PATTERN111: 7\n};\n\n/**\n * Weighted penalty scores for the undesirable features\n * @type {Object}\n */\nvar PenaltyScores = {\n N1: 3,\n N2: 3,\n N3: 40,\n N4: 10\n};\n\n/**\n * Check if mask pattern value is valid\n *\n * @param {Number} mask Mask pattern\n * @return {Boolean} true if valid, false otherwise\n */\nexports.isValid = function isValid (mask) {\n return mask != null && mask !== '' && !isNaN(mask) && mask >= 0 && mask <= 7\n};\n\n/**\n * Returns mask pattern from a value.\n * If value is not valid, returns undefined\n *\n * @param {Number|String} value Mask pattern value\n * @return {Number} Valid mask pattern or undefined\n */\nexports.from = function from (value) {\n return exports.isValid(value) ? parseInt(value, 10) : undefined\n};\n\n/**\n* Find adjacent modules in row/column with the same color\n* and assign a penalty value.\n*\n* Points: N1 + i\n* i is the amount by which the number of adjacent modules of the same color exceeds 5\n*/\nexports.getPenaltyN1 = function getPenaltyN1 (data) {\n var size = data.size;\n var points = 0;\n var sameCountCol = 0;\n var sameCountRow = 0;\n var lastCol = null;\n var lastRow = null;\n\n for (var row = 0; row < size; row++) {\n sameCountCol = sameCountRow = 0;\n lastCol = lastRow = null;\n\n for (var col = 0; col < size; col++) {\n var module = data.get(row, col);\n if (module === lastCol) {\n sameCountCol++;\n } else {\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5);\n lastCol = module;\n sameCountCol = 1;\n }\n\n module = data.get(col, row);\n if (module === lastRow) {\n sameCountRow++;\n } else {\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5);\n lastRow = module;\n sameCountRow = 1;\n }\n }\n\n if (sameCountCol >= 5) points += PenaltyScores.N1 + (sameCountCol - 5);\n if (sameCountRow >= 5) points += PenaltyScores.N1 + (sameCountRow - 5);\n }\n\n return points\n};\n\n/**\n * Find 2x2 blocks with the same color and assign a penalty value\n *\n * Points: N2 * (m - 1) * (n - 1)\n */\nexports.getPenaltyN2 = function getPenaltyN2 (data) {\n var size = data.size;\n var points = 0;\n\n for (var row = 0; row < size - 1; row++) {\n for (var col = 0; col < size - 1; col++) {\n var last = data.get(row, col) +\n data.get(row, col + 1) +\n data.get(row + 1, col) +\n data.get(row + 1, col + 1);\n\n if (last === 4 || last === 0) points++;\n }\n }\n\n return points * PenaltyScores.N2\n};\n\n/**\n * Find 1:1:3:1:1 ratio (dark:light:dark:light:dark) pattern in row/column,\n * preceded or followed by light area 4 modules wide\n *\n * Points: N3 * number of pattern found\n */\nexports.getPenaltyN3 = function getPenaltyN3 (data) {\n var size = data.size;\n var points = 0;\n var bitsCol = 0;\n var bitsRow = 0;\n\n for (var row = 0; row < size; row++) {\n bitsCol = bitsRow = 0;\n for (var col = 0; col < size; col++) {\n bitsCol = ((bitsCol << 1) & 0x7FF) | data.get(row, col);\n if (col >= 10 && (bitsCol === 0x5D0 || bitsCol === 0x05D)) points++;\n\n bitsRow = ((bitsRow << 1) & 0x7FF) | data.get(col, row);\n if (col >= 10 && (bitsRow === 0x5D0 || bitsRow === 0x05D)) points++;\n }\n }\n\n return points * PenaltyScores.N3\n};\n\n/**\n * Calculate proportion of dark modules in entire symbol\n *\n * Points: N4 * k\n *\n * k is the rating of the deviation of the proportion of dark modules\n * in the symbol from 50% in steps of 5%\n */\nexports.getPenaltyN4 = function getPenaltyN4 (data) {\n var darkCount = 0;\n var modulesCount = data.data.length;\n\n for (var i = 0; i < modulesCount; i++) darkCount += data.data[i];\n\n var k = Math.abs(Math.ceil((darkCount * 100 / modulesCount) / 5) - 10);\n\n return k * PenaltyScores.N4\n};\n\n/**\n * Return mask value at given position\n *\n * @param {Number} maskPattern Pattern reference value\n * @param {Number} i Row\n * @param {Number} j Column\n * @return {Boolean} Mask value\n */\nfunction getMaskAt (maskPattern, i, j) {\n switch (maskPattern) {\n case exports.Patterns.PATTERN000: return (i + j) % 2 === 0\n case exports.Patterns.PATTERN001: return i % 2 === 0\n case exports.Patterns.PATTERN010: return j % 3 === 0\n case exports.Patterns.PATTERN011: return (i + j) % 3 === 0\n case exports.Patterns.PATTERN100: return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 === 0\n case exports.Patterns.PATTERN101: return (i * j) % 2 + (i * j) % 3 === 0\n case exports.Patterns.PATTERN110: return ((i * j) % 2 + (i * j) % 3) % 2 === 0\n case exports.Patterns.PATTERN111: return ((i * j) % 3 + (i + j) % 2) % 2 === 0\n\n default: throw new Error('bad maskPattern:' + maskPattern)\n }\n}\n\n/**\n * Apply a mask pattern to a BitMatrix\n *\n * @param {Number} pattern Pattern reference number\n * @param {BitMatrix} data BitMatrix data\n */\nexports.applyMask = function applyMask (pattern, data) {\n var size = data.size;\n\n for (var col = 0; col < size; col++) {\n for (var row = 0; row < size; row++) {\n if (data.isReserved(row, col)) continue\n data.xor(row, col, getMaskAt(pattern, row, col));\n }\n }\n};\n\n/**\n * Returns the best mask pattern for data\n *\n * @param {BitMatrix} data\n * @return {Number} Mask pattern reference number\n */\nexports.getBestMask = function getBestMask (data, setupFormatFunc) {\n var numPatterns = Object.keys(exports.Patterns).length;\n var bestPattern = 0;\n var lowerPenalty = Infinity;\n\n for (var p = 0; p < numPatterns; p++) {\n setupFormatFunc(p);\n exports.applyMask(p, data);\n\n // Calculate penalty\n var penalty =\n exports.getPenaltyN1(data) +\n exports.getPenaltyN2(data) +\n exports.getPenaltyN3(data) +\n exports.getPenaltyN4(data);\n\n // Undo previously applied mask\n exports.applyMask(p, data);\n\n if (penalty < lowerPenalty) {\n lowerPenalty = penalty;\n bestPattern = p;\n }\n }\n\n return bestPattern\n};\n\n},{}],13:[function(require,module,exports){\nvar VersionCheck = require('./version-check');\nvar Regex = require('./regex');\n\n/**\n * Numeric mode encodes data from the decimal digit set (0 - 9)\n * (byte values 30HEX to 39HEX).\n * Normally, 3 data characters are represented by 10 bits.\n *\n * @type {Object}\n */\nexports.NUMERIC = {\n id: 'Numeric',\n bit: 1 << 0,\n ccBits: [10, 12, 14]\n};\n\n/**\n * Alphanumeric mode encodes data from a set of 45 characters,\n * i.e. 10 numeric digits (0 - 9),\n * 26 alphabetic characters (A - Z),\n * and 9 symbols (SP, $, %, *, +, -, ., /, :).\n * Normally, two input characters are represented by 11 bits.\n *\n * @type {Object}\n */\nexports.ALPHANUMERIC = {\n id: 'Alphanumeric',\n bit: 1 << 1,\n ccBits: [9, 11, 13]\n};\n\n/**\n * In byte mode, data is encoded at 8 bits per character.\n *\n * @type {Object}\n */\nexports.BYTE = {\n id: 'Byte',\n bit: 1 << 2,\n ccBits: [8, 16, 16]\n};\n\n/**\n * The Kanji mode efficiently encodes Kanji characters in accordance with\n * the Shift JIS system based on JIS X 0208.\n * The Shift JIS values are shifted from the JIS X 0208 values.\n * JIS X 0208 gives details of the shift coded representation.\n * Each two-byte character value is compacted to a 13-bit binary codeword.\n *\n * @type {Object}\n */\nexports.KANJI = {\n id: 'Kanji',\n bit: 1 << 3,\n ccBits: [8, 10, 12]\n};\n\n/**\n * Mixed mode will contain a sequences of data in a combination of any of\n * the modes described above\n *\n * @type {Object}\n */\nexports.MIXED = {\n bit: -1\n};\n\n/**\n * Returns the number of bits needed to store the data length\n * according to QR Code specifications.\n *\n * @param {Mode} mode Data mode\n * @param {Number} version QR Code version\n * @return {Number} Number of bits\n */\nexports.getCharCountIndicator = function getCharCountIndicator (mode, version) {\n if (!mode.ccBits) throw new Error('Invalid mode: ' + mode)\n\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid version: ' + version)\n }\n\n if (version >= 1 && version < 10) return mode.ccBits[0]\n else if (version < 27) return mode.ccBits[1]\n return mode.ccBits[2]\n};\n\n/**\n * Returns the most efficient mode to store the specified data\n *\n * @param {String} dataStr Input data string\n * @return {Mode} Best mode\n */\nexports.getBestModeForData = function getBestModeForData (dataStr) {\n if (Regex.testNumeric(dataStr)) return exports.NUMERIC\n else if (Regex.testAlphanumeric(dataStr)) return exports.ALPHANUMERIC\n else if (Regex.testKanji(dataStr)) return exports.KANJI\n else return exports.BYTE\n};\n\n/**\n * Return mode name as string\n *\n * @param {Mode} mode Mode object\n * @returns {String} Mode name\n */\nexports.toString = function toString (mode) {\n if (mode && mode.id) return mode.id\n throw new Error('Invalid mode')\n};\n\n/**\n * Check if input param is a valid mode object\n *\n * @param {Mode} mode Mode object\n * @returns {Boolean} True if valid mode, false otherwise\n */\nexports.isValid = function isValid (mode) {\n return mode && mode.bit && mode.ccBits\n};\n\n/**\n * Get mode object from its name\n *\n * @param {String} string Mode name\n * @returns {Mode} Mode object\n */\nfunction fromString (string) {\n if (typeof string !== 'string') {\n throw new Error('Param is not a string')\n }\n\n var lcStr = string.toLowerCase();\n\n switch (lcStr) {\n case 'numeric':\n return exports.NUMERIC\n case 'alphanumeric':\n return exports.ALPHANUMERIC\n case 'kanji':\n return exports.KANJI\n case 'byte':\n return exports.BYTE\n default:\n throw new Error('Unknown mode: ' + string)\n }\n}\n\n/**\n * Returns mode from a value.\n * If value is not a valid mode, returns defaultValue\n *\n * @param {Mode|String} value Encoding mode\n * @param {Mode} defaultValue Fallback value\n * @return {Mode} Encoding mode\n */\nexports.from = function from (value, defaultValue) {\n if (exports.isValid(value)) {\n return value\n }\n\n try {\n return fromString(value)\n } catch (e) {\n return defaultValue\n }\n};\n\n},{\"./regex\":18,\"./version-check\":21}],14:[function(require,module,exports){\nvar Mode = require('./mode');\n\nfunction NumericData (data) {\n this.mode = Mode.NUMERIC;\n this.data = data.toString();\n}\n\nNumericData.getBitsLength = function getBitsLength (length) {\n return 10 * Math.floor(length / 3) + ((length % 3) ? ((length % 3) * 3 + 1) : 0)\n};\n\nNumericData.prototype.getLength = function getLength () {\n return this.data.length\n};\n\nNumericData.prototype.getBitsLength = function getBitsLength () {\n return NumericData.getBitsLength(this.data.length)\n};\n\nNumericData.prototype.write = function write (bitBuffer) {\n var i, group, value;\n\n // The input data string is divided into groups of three digits,\n // and each group is converted to its 10-bit binary equivalent.\n for (i = 0; i + 3 <= this.data.length; i += 3) {\n group = this.data.substr(i, 3);\n value = parseInt(group, 10);\n\n bitBuffer.put(value, 10);\n }\n\n // If the number of input digits is not an exact multiple of three,\n // the final one or two digits are converted to 4 or 7 bits respectively.\n var remainingNum = this.data.length - i;\n if (remainingNum > 0) {\n group = this.data.substr(i);\n value = parseInt(group, 10);\n\n bitBuffer.put(value, remainingNum * 3 + 1);\n }\n};\n\nmodule.exports = NumericData;\n\n},{\"./mode\":13}],15:[function(require,module,exports){\nvar Buffer = require('../utils/buffer');\nvar GF = require('./galois-field');\n\n/**\n * Multiplies two polynomials inside Galois Field\n *\n * @param {Buffer} p1 Polynomial\n * @param {Buffer} p2 Polynomial\n * @return {Buffer} Product of p1 and p2\n */\nexports.mul = function mul (p1, p2) {\n var coeff = new Buffer(p1.length + p2.length - 1);\n coeff.fill(0);\n\n for (var i = 0; i < p1.length; i++) {\n for (var j = 0; j < p2.length; j++) {\n coeff[i + j] ^= GF.mul(p1[i], p2[j]);\n }\n }\n\n return coeff\n};\n\n/**\n * Calculate the remainder of polynomials division\n *\n * @param {Buffer} divident Polynomial\n * @param {Buffer} divisor Polynomial\n * @return {Buffer} Remainder\n */\nexports.mod = function mod (divident, divisor) {\n var result = new Buffer(divident);\n\n while ((result.length - divisor.length) >= 0) {\n var coeff = result[0];\n\n for (var i = 0; i < divisor.length; i++) {\n result[i] ^= GF.mul(divisor[i], coeff);\n }\n\n // remove all zeros from buffer head\n var offset = 0;\n while (offset < result.length && result[offset] === 0) offset++;\n result = result.slice(offset);\n }\n\n return result\n};\n\n/**\n * Generate an irreducible generator polynomial of specified degree\n * (used by Reed-Solomon encoder)\n *\n * @param {Number} degree Degree of the generator polynomial\n * @return {Buffer} Buffer containing polynomial coefficients\n */\nexports.generateECPolynomial = function generateECPolynomial (degree) {\n var poly = new Buffer([1]);\n for (var i = 0; i < degree; i++) {\n poly = exports.mul(poly, [1, GF.exp(i)]);\n }\n\n return poly\n};\n\n},{\"../utils/buffer\":27,\"./galois-field\":10}],16:[function(require,module,exports){\nvar Buffer = require('../utils/buffer');\nvar Utils = require('./utils');\nvar ECLevel = require('./error-correction-level');\nvar BitBuffer = require('./bit-buffer');\nvar BitMatrix = require('./bit-matrix');\nvar AlignmentPattern = require('./alignment-pattern');\nvar FinderPattern = require('./finder-pattern');\nvar MaskPattern = require('./mask-pattern');\nvar ECCode = require('./error-correction-code');\nvar ReedSolomonEncoder = require('./reed-solomon-encoder');\nvar Version = require('./version');\nvar FormatInfo = require('./format-info');\nvar Mode = require('./mode');\nvar Segments = require('./segments');\nvar isArray = require('isarray');\n\n/**\n * QRCode for JavaScript\n *\n * modified by Ryan Day for nodejs support\n * Copyright (c) 2011 Ryan Day\n *\n * Licensed under the MIT license:\n * http://www.opensource.org/licenses/mit-license.php\n *\n//---------------------------------------------------------------------\n// QRCode for JavaScript\n//\n// Copyright (c) 2009 Kazuhiko Arase\n//\n// URL: http://www.d-project.com/\n//\n// Licensed under the MIT license:\n// http://www.opensource.org/licenses/mit-license.php\n//\n// The word \"QR Code\" is registered trademark of\n// DENSO WAVE INCORPORATED\n// http://www.denso-wave.com/qrcode/faqpatent-e.html\n//\n//---------------------------------------------------------------------\n*/\n\n/**\n * Add finder patterns bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupFinderPattern (matrix, version) {\n var size = matrix.size;\n var pos = FinderPattern.getPositions(version);\n\n for (var i = 0; i < pos.length; i++) {\n var row = pos[i][0];\n var col = pos[i][1];\n\n for (var r = -1; r <= 7; r++) {\n if (row + r <= -1 || size <= row + r) continue\n\n for (var c = -1; c <= 7; c++) {\n if (col + c <= -1 || size <= col + c) continue\n\n if ((r >= 0 && r <= 6 && (c === 0 || c === 6)) ||\n (c >= 0 && c <= 6 && (r === 0 || r === 6)) ||\n (r >= 2 && r <= 4 && c >= 2 && c <= 4)) {\n matrix.set(row + r, col + c, true, true);\n } else {\n matrix.set(row + r, col + c, false, true);\n }\n }\n }\n }\n}\n\n/**\n * Add timing pattern bits to matrix\n *\n * Note: this function must be called before {@link setupAlignmentPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n */\nfunction setupTimingPattern (matrix) {\n var size = matrix.size;\n\n for (var r = 8; r < size - 8; r++) {\n var value = r % 2 === 0;\n matrix.set(r, 6, value, true);\n matrix.set(6, r, value, true);\n }\n}\n\n/**\n * Add alignment patterns bits to matrix\n *\n * Note: this function must be called after {@link setupTimingPattern}\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupAlignmentPattern (matrix, version) {\n var pos = AlignmentPattern.getPositions(version);\n\n for (var i = 0; i < pos.length; i++) {\n var row = pos[i][0];\n var col = pos[i][1];\n\n for (var r = -2; r <= 2; r++) {\n for (var c = -2; c <= 2; c++) {\n if (r === -2 || r === 2 || c === -2 || c === 2 ||\n (r === 0 && c === 0)) {\n matrix.set(row + r, col + c, true, true);\n } else {\n matrix.set(row + r, col + c, false, true);\n }\n }\n }\n }\n}\n\n/**\n * Add version info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Number} version QR Code version\n */\nfunction setupVersionInfo (matrix, version) {\n var size = matrix.size;\n var bits = Version.getEncodedBits(version);\n var row, col, mod;\n\n for (var i = 0; i < 18; i++) {\n row = Math.floor(i / 3);\n col = i % 3 + size - 8 - 3;\n mod = ((bits >> i) & 1) === 1;\n\n matrix.set(row, col, mod, true);\n matrix.set(col, row, mod, true);\n }\n}\n\n/**\n * Add format info bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {Number} maskPattern Mask pattern reference value\n */\nfunction setupFormatInfo (matrix, errorCorrectionLevel, maskPattern) {\n var size = matrix.size;\n var bits = FormatInfo.getEncodedBits(errorCorrectionLevel, maskPattern);\n var i, mod;\n\n for (i = 0; i < 15; i++) {\n mod = ((bits >> i) & 1) === 1;\n\n // vertical\n if (i < 6) {\n matrix.set(i, 8, mod, true);\n } else if (i < 8) {\n matrix.set(i + 1, 8, mod, true);\n } else {\n matrix.set(size - 15 + i, 8, mod, true);\n }\n\n // horizontal\n if (i < 8) {\n matrix.set(8, size - i - 1, mod, true);\n } else if (i < 9) {\n matrix.set(8, 15 - i - 1 + 1, mod, true);\n } else {\n matrix.set(8, 15 - i - 1, mod, true);\n }\n }\n\n // fixed module\n matrix.set(size - 8, 8, 1, true);\n}\n\n/**\n * Add encoded data bits to matrix\n *\n * @param {BitMatrix} matrix Modules matrix\n * @param {Buffer} data Data codewords\n */\nfunction setupData (matrix, data) {\n var size = matrix.size;\n var inc = -1;\n var row = size - 1;\n var bitIndex = 7;\n var byteIndex = 0;\n\n for (var col = size - 1; col > 0; col -= 2) {\n if (col === 6) col--;\n\n while (true) {\n for (var c = 0; c < 2; c++) {\n if (!matrix.isReserved(row, col - c)) {\n var dark = false;\n\n if (byteIndex < data.length) {\n dark = (((data[byteIndex] >>> bitIndex) & 1) === 1);\n }\n\n matrix.set(row, col - c, dark);\n bitIndex--;\n\n if (bitIndex === -1) {\n byteIndex++;\n bitIndex = 7;\n }\n }\n }\n\n row += inc;\n\n if (row < 0 || size <= row) {\n row -= inc;\n inc = -inc;\n break\n }\n }\n }\n}\n\n/**\n * Create encoded codewords from data input\n *\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @param {ByteData} data Data input\n * @return {Buffer} Buffer containing encoded codewords\n */\nfunction createData (version, errorCorrectionLevel, segments) {\n // Prepare data buffer\n var buffer = new BitBuffer();\n\n segments.forEach(function (data) {\n // prefix data with mode indicator (4 bits)\n buffer.put(data.mode.bit, 4);\n\n // Prefix data with character count indicator.\n // The character count indicator is a string of bits that represents the\n // number of characters that are being encoded.\n // The character count indicator must be placed after the mode indicator\n // and must be a certain number of bits long, depending on the QR version\n // and data mode\n // @see {@link Mode.getCharCountIndicator}.\n buffer.put(data.getLength(), Mode.getCharCountIndicator(data.mode, version));\n\n // add binary data sequence to buffer\n data.write(buffer);\n });\n\n // Calculate required number of bits\n var totalCodewords = Utils.getSymbolTotalCodewords(version);\n var ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel);\n var dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8;\n\n // Add a terminator.\n // If the bit string is shorter than the total number of required bits,\n // a terminator of up to four 0s must be added to the right side of the string.\n // If the bit string is more than four bits shorter than the required number of bits,\n // add four 0s to the end.\n if (buffer.getLengthInBits() + 4 <= dataTotalCodewordsBits) {\n buffer.put(0, 4);\n }\n\n // If the bit string is fewer than four bits shorter, add only the number of 0s that\n // are needed to reach the required number of bits.\n\n // After adding the terminator, if the number of bits in the string is not a multiple of 8,\n // pad the string on the right with 0s to make the string's length a multiple of 8.\n while (buffer.getLengthInBits() % 8 !== 0) {\n buffer.putBit(0);\n }\n\n // Add pad bytes if the string is still shorter than the total number of required bits.\n // Extend the buffer to fill the data capacity of the symbol corresponding to\n // the Version and Error Correction Level by adding the Pad Codewords 11101100 (0xEC)\n // and 00010001 (0x11) alternately.\n var remainingByte = (dataTotalCodewordsBits - buffer.getLengthInBits()) / 8;\n for (var i = 0; i < remainingByte; i++) {\n buffer.put(i % 2 ? 0x11 : 0xEC, 8);\n }\n\n return createCodewords(buffer, version, errorCorrectionLevel)\n}\n\n/**\n * Encode input data with Reed-Solomon and return codewords with\n * relative error correction bits\n *\n * @param {BitBuffer} bitBuffer Data to encode\n * @param {Number} version QR Code version\n * @param {ErrorCorrectionLevel} errorCorrectionLevel Error correction level\n * @return {Buffer} Buffer containing encoded codewords\n */\nfunction createCodewords (bitBuffer, version, errorCorrectionLevel) {\n // Total codewords for this QR code version (Data + Error correction)\n var totalCodewords = Utils.getSymbolTotalCodewords(version);\n\n // Total number of error correction codewords\n var ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel);\n\n // Total number of data codewords\n var dataTotalCodewords = totalCodewords - ecTotalCodewords;\n\n // Total number of blocks\n var ecTotalBlocks = ECCode.getBlocksCount(version, errorCorrectionLevel);\n\n // Calculate how many blocks each group should contain\n var blocksInGroup2 = totalCodewords % ecTotalBlocks;\n var blocksInGroup1 = ecTotalBlocks - blocksInGroup2;\n\n var totalCodewordsInGroup1 = Math.floor(totalCodewords / ecTotalBlocks);\n\n var dataCodewordsInGroup1 = Math.floor(dataTotalCodewords / ecTotalBlocks);\n var dataCodewordsInGroup2 = dataCodewordsInGroup1 + 1;\n\n // Number of EC codewords is the same for both groups\n var ecCount = totalCodewordsInGroup1 - dataCodewordsInGroup1;\n\n // Initialize a Reed-Solomon encoder with a generator polynomial of degree ecCount\n var rs = new ReedSolomonEncoder(ecCount);\n\n var offset = 0;\n var dcData = new Array(ecTotalBlocks);\n var ecData = new Array(ecTotalBlocks);\n var maxDataSize = 0;\n var buffer = new Buffer(bitBuffer.buffer);\n\n // Divide the buffer into the required number of blocks\n for (var b = 0; b < ecTotalBlocks; b++) {\n var dataSize = b < blocksInGroup1 ? dataCodewordsInGroup1 : dataCodewordsInGroup2;\n\n // extract a block of data from buffer\n dcData[b] = buffer.slice(offset, offset + dataSize);\n\n // Calculate EC codewords for this data block\n ecData[b] = rs.encode(dcData[b]);\n\n offset += dataSize;\n maxDataSize = Math.max(maxDataSize, dataSize);\n }\n\n // Create final data\n // Interleave the data and error correction codewords from each block\n var data = new Buffer(totalCodewords);\n var index = 0;\n var i, r;\n\n // Add data codewords\n for (i = 0; i < maxDataSize; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n if (i < dcData[r].length) {\n data[index++] = dcData[r][i];\n }\n }\n }\n\n // Apped EC codewords\n for (i = 0; i < ecCount; i++) {\n for (r = 0; r < ecTotalBlocks; r++) {\n data[index++] = ecData[r][i];\n }\n }\n\n return data\n}\n\n/**\n * Build QR Code symbol\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @param {ErrorCorretionLevel} errorCorrectionLevel Error level\n * @param {MaskPattern} maskPattern Mask pattern\n * @return {Object} Object containing symbol data\n */\nfunction createSymbol (data, version, errorCorrectionLevel, maskPattern) {\n var segments;\n\n if (isArray(data)) {\n segments = Segments.fromArray(data);\n } else if (typeof data === 'string') {\n var estimatedVersion = version;\n\n if (!estimatedVersion) {\n var rawSegments = Segments.rawSplit(data);\n\n // Estimate best version that can contain raw splitted segments\n estimatedVersion = Version.getBestVersionForData(rawSegments,\n errorCorrectionLevel);\n }\n\n // Build optimized segments\n // If estimated version is undefined, try with the highest version\n segments = Segments.fromString(data, estimatedVersion || 40);\n } else {\n throw new Error('Invalid data')\n }\n\n // Get the min version that can contain data\n var bestVersion = Version.getBestVersionForData(segments,\n errorCorrectionLevel);\n\n // If no version is found, data cannot be stored\n if (!bestVersion) {\n throw new Error('The amount of data is too big to be stored in a QR Code')\n }\n\n // If not specified, use min version as default\n if (!version) {\n version = bestVersion;\n\n // Check if the specified version can contain the data\n } else if (version < bestVersion) {\n throw new Error('\\n' +\n 'The chosen QR Code version cannot contain this amount of data.\\n' +\n 'Minimum version required to store current data is: ' + bestVersion + '.\\n'\n )\n }\n\n var dataBits = createData(version, errorCorrectionLevel, segments);\n\n // Allocate matrix buffer\n var moduleCount = Utils.getSymbolSize(version);\n var modules = new BitMatrix(moduleCount);\n\n // Add function modules\n setupFinderPattern(modules, version);\n setupTimingPattern(modules);\n setupAlignmentPattern(modules, version);\n\n // Add temporary dummy bits for format info just to set them as reserved.\n // This is needed to prevent these bits from being masked by {@link MaskPattern.applyMask}\n // since the masking operation must be performed only on the encoding region.\n // These blocks will be replaced with correct values later in code.\n setupFormatInfo(modules, errorCorrectionLevel, 0);\n\n if (version >= 7) {\n setupVersionInfo(modules, version);\n }\n\n // Add data codewords\n setupData(modules, dataBits);\n\n if (isNaN(maskPattern)) {\n // Find best mask pattern\n maskPattern = MaskPattern.getBestMask(modules,\n setupFormatInfo.bind(null, modules, errorCorrectionLevel));\n }\n\n // Apply mask pattern\n MaskPattern.applyMask(maskPattern, modules);\n\n // Replace format info bits with correct values\n setupFormatInfo(modules, errorCorrectionLevel, maskPattern);\n\n return {\n modules: modules,\n version: version,\n errorCorrectionLevel: errorCorrectionLevel,\n maskPattern: maskPattern,\n segments: segments\n }\n}\n\n/**\n * QR Code\n *\n * @param {String | Array} data Input data\n * @param {Object} options Optional configurations\n * @param {Number} options.version QR Code version\n * @param {String} options.errorCorrectionLevel Error correction level\n * @param {Function} options.toSJISFunc Helper func to convert utf8 to sjis\n */\nexports.create = function create (data, options) {\n if (typeof data === 'undefined' || data === '') {\n throw new Error('No input text')\n }\n\n var errorCorrectionLevel = ECLevel.M;\n var version;\n var mask;\n\n if (typeof options !== 'undefined') {\n // Use higher error correction level as default\n errorCorrectionLevel = ECLevel.from(options.errorCorrectionLevel, ECLevel.M);\n version = Version.from(options.version);\n mask = MaskPattern.from(options.maskPattern);\n\n if (options.toSJISFunc) {\n Utils.setToSJISFunction(options.toSJISFunc);\n }\n }\n\n return createSymbol(data, version, errorCorrectionLevel, mask)\n};\n\n},{\"../utils/buffer\":27,\"./alignment-pattern\":1,\"./bit-buffer\":3,\"./bit-matrix\":4,\"./error-correction-code\":6,\"./error-correction-level\":7,\"./finder-pattern\":8,\"./format-info\":9,\"./mask-pattern\":12,\"./mode\":13,\"./reed-solomon-encoder\":17,\"./segments\":19,\"./utils\":20,\"./version\":22,\"isarray\":30}],17:[function(require,module,exports){\nvar Buffer = require('../utils/buffer');\nvar Polynomial = require('./polynomial');\n\nfunction ReedSolomonEncoder (degree) {\n this.genPoly = undefined;\n this.degree = degree;\n\n if (this.degree) this.initialize(this.degree);\n}\n\n/**\n * Initialize the encoder.\n * The input param should correspond to the number of error correction codewords.\n *\n * @param {Number} degree\n */\nReedSolomonEncoder.prototype.initialize = function initialize (degree) {\n // create an irreducible generator polynomial\n this.degree = degree;\n this.genPoly = Polynomial.generateECPolynomial(this.degree);\n};\n\n/**\n * Encodes a chunk of data\n *\n * @param {Buffer} data Buffer containing input data\n * @return {Buffer} Buffer containing encoded data\n */\nReedSolomonEncoder.prototype.encode = function encode (data) {\n if (!this.genPoly) {\n throw new Error('Encoder not initialized')\n }\n\n // Calculate EC for this data block\n // extends data size to data+genPoly size\n var pad = new Buffer(this.degree);\n pad.fill(0);\n var paddedData = Buffer.concat([data, pad], data.length + this.degree);\n\n // The error correction codewords are the remainder after dividing the data codewords\n // by a generator polynomial\n var remainder = Polynomial.mod(paddedData, this.genPoly);\n\n // return EC data blocks (last n byte, where n is the degree of genPoly)\n // If coefficients number in remainder are less than genPoly degree,\n // pad with 0s to the left to reach the needed number of coefficients\n var start = this.degree - remainder.length;\n if (start > 0) {\n var buff = new Buffer(this.degree);\n buff.fill(0);\n remainder.copy(buff, start);\n\n return buff\n }\n\n return remainder\n};\n\nmodule.exports = ReedSolomonEncoder;\n\n},{\"../utils/buffer\":27,\"./polynomial\":15}],18:[function(require,module,exports){\nvar numeric = '[0-9]+';\nvar alphanumeric = '[A-Z $%*+\\\\-./:]+';\nvar kanji = '(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|' +\n '[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|' +\n '[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|' +\n '[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+';\nkanji = kanji.replace(/u/g, '\\\\u');\n\nvar byte = '(?:(?![A-Z0-9 $%*+\\\\-./:]|' + kanji + ')(?:.|[\\r\\n]))+';\n\nexports.KANJI = new RegExp(kanji, 'g');\nexports.BYTE_KANJI = new RegExp('[^A-Z0-9 $%*+\\\\-./:]+', 'g');\nexports.BYTE = new RegExp(byte, 'g');\nexports.NUMERIC = new RegExp(numeric, 'g');\nexports.ALPHANUMERIC = new RegExp(alphanumeric, 'g');\n\nvar TEST_KANJI = new RegExp('^' + kanji + '$');\nvar TEST_NUMERIC = new RegExp('^' + numeric + '$');\nvar TEST_ALPHANUMERIC = new RegExp('^[A-Z0-9 $%*+\\\\-./:]+$');\n\nexports.testKanji = function testKanji (str) {\n return TEST_KANJI.test(str)\n};\n\nexports.testNumeric = function testNumeric (str) {\n return TEST_NUMERIC.test(str)\n};\n\nexports.testAlphanumeric = function testAlphanumeric (str) {\n return TEST_ALPHANUMERIC.test(str)\n};\n\n},{}],19:[function(require,module,exports){\nvar Mode = require('./mode');\nvar NumericData = require('./numeric-data');\nvar AlphanumericData = require('./alphanumeric-data');\nvar ByteData = require('./byte-data');\nvar KanjiData = require('./kanji-data');\nvar Regex = require('./regex');\nvar Utils = require('./utils');\nvar dijkstra = require('dijkstrajs');\n\n/**\n * Returns UTF8 byte length\n *\n * @param {String} str Input string\n * @return {Number} Number of byte\n */\nfunction getStringByteLength (str) {\n return unescape(encodeURIComponent(str)).length\n}\n\n/**\n * Get a list of segments of the specified mode\n * from a string\n *\n * @param {Mode} mode Segment mode\n * @param {String} str String to process\n * @return {Array} Array of object with segments data\n */\nfunction getSegments (regex, mode, str) {\n var segments = [];\n var result;\n\n while ((result = regex.exec(str)) !== null) {\n segments.push({\n data: result[0],\n index: result.index,\n mode: mode,\n length: result[0].length\n });\n }\n\n return segments\n}\n\n/**\n * Extracts a series of segments with the appropriate\n * modes from a string\n *\n * @param {String} dataStr Input string\n * @return {Array} Array of object with segments data\n */\nfunction getSegmentsFromString (dataStr) {\n var numSegs = getSegments(Regex.NUMERIC, Mode.NUMERIC, dataStr);\n var alphaNumSegs = getSegments(Regex.ALPHANUMERIC, Mode.ALPHANUMERIC, dataStr);\n var byteSegs;\n var kanjiSegs;\n\n if (Utils.isKanjiModeEnabled()) {\n byteSegs = getSegments(Regex.BYTE, Mode.BYTE, dataStr);\n kanjiSegs = getSegments(Regex.KANJI, Mode.KANJI, dataStr);\n } else {\n byteSegs = getSegments(Regex.BYTE_KANJI, Mode.BYTE, dataStr);\n kanjiSegs = [];\n }\n\n var segs = numSegs.concat(alphaNumSegs, byteSegs, kanjiSegs);\n\n return segs\n .sort(function (s1, s2) {\n return s1.index - s2.index\n })\n .map(function (obj) {\n return {\n data: obj.data,\n mode: obj.mode,\n length: obj.length\n }\n })\n}\n\n/**\n * Returns how many bits are needed to encode a string of\n * specified length with the specified mode\n *\n * @param {Number} length String length\n * @param {Mode} mode Segment mode\n * @return {Number} Bit length\n */\nfunction getSegmentBitsLength (length, mode) {\n switch (mode) {\n case Mode.NUMERIC:\n return NumericData.getBitsLength(length)\n case Mode.ALPHANUMERIC:\n return AlphanumericData.getBitsLength(length)\n case Mode.KANJI:\n return KanjiData.getBitsLength(length)\n case Mode.BYTE:\n return ByteData.getBitsLength(length)\n }\n}\n\n/**\n * Merges adjacent segments which have the same mode\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction mergeSegments (segs) {\n return segs.reduce(function (acc, curr) {\n var prevSeg = acc.length - 1 >= 0 ? acc[acc.length - 1] : null;\n if (prevSeg && prevSeg.mode === curr.mode) {\n acc[acc.length - 1].data += curr.data;\n return acc\n }\n\n acc.push(curr);\n return acc\n }, [])\n}\n\n/**\n * Generates a list of all possible nodes combination which\n * will be used to build a segments graph.\n *\n * Nodes are divided by groups. Each group will contain a list of all the modes\n * in which is possible to encode the given text.\n *\n * For example the text '12345' can be encoded as Numeric, Alphanumeric or Byte.\n * The group for '12345' will contain then 3 objects, one for each\n * possible encoding mode.\n *\n * Each node represents a possible segment.\n *\n * @param {Array} segs Array of object with segments data\n * @return {Array} Array of object with segments data\n */\nfunction buildNodes (segs) {\n var nodes = [];\n for (var i = 0; i < segs.length; i++) {\n var seg = segs[i];\n\n switch (seg.mode) {\n case Mode.NUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.ALPHANUMERIC, length: seg.length },\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ]);\n break\n case Mode.ALPHANUMERIC:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: seg.length }\n ]);\n break\n case Mode.KANJI:\n nodes.push([seg,\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ]);\n break\n case Mode.BYTE:\n nodes.push([\n { data: seg.data, mode: Mode.BYTE, length: getStringByteLength(seg.data) }\n ]);\n }\n }\n\n return nodes\n}\n\n/**\n * Builds a graph from a list of nodes.\n * All segments in each node group will be connected with all the segments of\n * the next group and so on.\n *\n * At each connection will be assigned a weight depending on the\n * segment's byte length.\n *\n * @param {Array} nodes Array of object with segments data\n * @param {Number} version QR Code version\n * @return {Object} Graph of all possible segments\n */\nfunction buildGraph (nodes, version) {\n var table = {};\n var graph = {'start': {}};\n var prevNodeIds = ['start'];\n\n for (var i = 0; i < nodes.length; i++) {\n var nodeGroup = nodes[i];\n var currentNodeIds = [];\n\n for (var j = 0; j < nodeGroup.length; j++) {\n var node = nodeGroup[j];\n var key = '' + i + j;\n\n currentNodeIds.push(key);\n table[key] = { node: node, lastCount: 0 };\n graph[key] = {};\n\n for (var n = 0; n < prevNodeIds.length; n++) {\n var prevNodeId = prevNodeIds[n];\n\n if (table[prevNodeId] && table[prevNodeId].node.mode === node.mode) {\n graph[prevNodeId][key] =\n getSegmentBitsLength(table[prevNodeId].lastCount + node.length, node.mode) -\n getSegmentBitsLength(table[prevNodeId].lastCount, node.mode);\n\n table[prevNodeId].lastCount += node.length;\n } else {\n if (table[prevNodeId]) table[prevNodeId].lastCount = node.length;\n\n graph[prevNodeId][key] = getSegmentBitsLength(node.length, node.mode) +\n 4 + Mode.getCharCountIndicator(node.mode, version); // switch cost\n }\n }\n }\n\n prevNodeIds = currentNodeIds;\n }\n\n for (n = 0; n < prevNodeIds.length; n++) {\n graph[prevNodeIds[n]]['end'] = 0;\n }\n\n return { map: graph, table: table }\n}\n\n/**\n * Builds a segment from a specified data and mode.\n * If a mode is not specified, the more suitable will be used.\n *\n * @param {String} data Input data\n * @param {Mode | String} modesHint Data mode\n * @return {Segment} Segment\n */\nfunction buildSingleSegment (data, modesHint) {\n var mode;\n var bestMode = Mode.getBestModeForData(data);\n\n mode = Mode.from(modesHint, bestMode);\n\n // Make sure data can be encoded\n if (mode !== Mode.BYTE && mode.bit < bestMode.bit) {\n throw new Error('\"' + data + '\"' +\n ' cannot be encoded with mode ' + Mode.toString(mode) +\n '.\\n Suggested mode is: ' + Mode.toString(bestMode))\n }\n\n // Use Mode.BYTE if Kanji support is disabled\n if (mode === Mode.KANJI && !Utils.isKanjiModeEnabled()) {\n mode = Mode.BYTE;\n }\n\n switch (mode) {\n case Mode.NUMERIC:\n return new NumericData(data)\n\n case Mode.ALPHANUMERIC:\n return new AlphanumericData(data)\n\n case Mode.KANJI:\n return new KanjiData(data)\n\n case Mode.BYTE:\n return new ByteData(data)\n }\n}\n\n/**\n * Builds a list of segments from an array.\n * Array can contain Strings or Objects with segment's info.\n *\n * For each item which is a string, will be generated a segment with the given\n * string and the more appropriate encoding mode.\n *\n * For each item which is an object, will be generated a segment with the given\n * data and mode.\n * Objects must contain at least the property \"data\".\n * If property \"mode\" is not present, the more suitable mode will be used.\n *\n * @param {Array} array Array of objects with segments data\n * @return {Array} Array of Segments\n */\nexports.fromArray = function fromArray (array) {\n return array.reduce(function (acc, seg) {\n if (typeof seg === 'string') {\n acc.push(buildSingleSegment(seg, null));\n } else if (seg.data) {\n acc.push(buildSingleSegment(seg.data, seg.mode));\n }\n\n return acc\n }, [])\n};\n\n/**\n * Builds an optimized sequence of segments from a string,\n * which will produce the shortest possible bitstream.\n *\n * @param {String} data Input string\n * @param {Number} version QR Code version\n * @return {Array} Array of segments\n */\nexports.fromString = function fromString (data, version) {\n var segs = getSegmentsFromString(data, Utils.isKanjiModeEnabled());\n\n var nodes = buildNodes(segs);\n var graph = buildGraph(nodes, version);\n var path = dijkstra.find_path(graph.map, 'start', 'end');\n\n var optimizedSegs = [];\n for (var i = 1; i < path.length - 1; i++) {\n optimizedSegs.push(graph.table[path[i]].node);\n }\n\n return exports.fromArray(mergeSegments(optimizedSegs))\n};\n\n/**\n * Splits a string in various segments with the modes which\n * best represent their content.\n * The produced segments are far from being optimized.\n * The output of this function is only used to estimate a QR Code version\n * which may contain the data.\n *\n * @param {string} data Input string\n * @return {Array} Array of segments\n */\nexports.rawSplit = function rawSplit (data) {\n return exports.fromArray(\n getSegmentsFromString(data, Utils.isKanjiModeEnabled())\n )\n};\n\n},{\"./alphanumeric-data\":2,\"./byte-data\":5,\"./kanji-data\":11,\"./mode\":13,\"./numeric-data\":14,\"./regex\":18,\"./utils\":20,\"dijkstrajs\":29}],20:[function(require,module,exports){\nvar toSJISFunction;\nvar CODEWORDS_COUNT = [\n 0, // Not used\n 26, 44, 70, 100, 134, 172, 196, 242, 292, 346,\n 404, 466, 532, 581, 655, 733, 815, 901, 991, 1085,\n 1156, 1258, 1364, 1474, 1588, 1706, 1828, 1921, 2051, 2185,\n 2323, 2465, 2611, 2761, 2876, 3034, 3196, 3362, 3532, 3706\n];\n\n/**\n * Returns the QR Code size for the specified version\n *\n * @param {Number} version QR Code version\n * @return {Number} size of QR code\n */\nexports.getSymbolSize = function getSymbolSize (version) {\n if (!version) throw new Error('\"version\" cannot be null or undefined')\n if (version < 1 || version > 40) throw new Error('\"version\" should be in range from 1 to 40')\n return version * 4 + 17\n};\n\n/**\n * Returns the total number of codewords used to store data and EC information.\n *\n * @param {Number} version QR Code version\n * @return {Number} Data length in bits\n */\nexports.getSymbolTotalCodewords = function getSymbolTotalCodewords (version) {\n return CODEWORDS_COUNT[version]\n};\n\n/**\n * Encode data with Bose-Chaudhuri-Hocquenghem\n *\n * @param {Number} data Value to encode\n * @return {Number} Encoded value\n */\nexports.getBCHDigit = function (data) {\n var digit = 0;\n\n while (data !== 0) {\n digit++;\n data >>>= 1;\n }\n\n return digit\n};\n\nexports.setToSJISFunction = function setToSJISFunction (f) {\n if (typeof f !== 'function') {\n throw new Error('\"toSJISFunc\" is not a valid function.')\n }\n\n toSJISFunction = f;\n};\n\nexports.isKanjiModeEnabled = function () {\n return typeof toSJISFunction !== 'undefined'\n};\n\nexports.toSJIS = function toSJIS (kanji) {\n return toSJISFunction(kanji)\n};\n\n},{}],21:[function(require,module,exports){\n/**\n * Check if QR Code version is valid\n *\n * @param {Number} version QR Code version\n * @return {Boolean} true if valid version, false otherwise\n */\nexports.isValid = function isValid (version) {\n return !isNaN(version) && version >= 1 && version <= 40\n};\n\n},{}],22:[function(require,module,exports){\nvar Utils = require('./utils');\nvar ECCode = require('./error-correction-code');\nvar ECLevel = require('./error-correction-level');\nvar Mode = require('./mode');\nvar VersionCheck = require('./version-check');\nvar isArray = require('isarray');\n\n// Generator polynomial used to encode version information\nvar G18 = (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0);\nvar G18_BCH = Utils.getBCHDigit(G18);\n\nfunction getBestVersionForDataLength (mode, length, errorCorrectionLevel) {\n for (var currentVersion = 1; currentVersion <= 40; currentVersion++) {\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, mode)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\nfunction getReservedBitsCount (mode, version) {\n // Character count indicator + mode indicator bits\n return Mode.getCharCountIndicator(mode, version) + 4\n}\n\nfunction getTotalBitsFromDataArray (segments, version) {\n var totalBits = 0;\n\n segments.forEach(function (data) {\n var reservedBits = getReservedBitsCount(data.mode, version);\n totalBits += reservedBits + data.getBitsLength();\n });\n\n return totalBits\n}\n\nfunction getBestVersionForMixedData (segments, errorCorrectionLevel) {\n for (var currentVersion = 1; currentVersion <= 40; currentVersion++) {\n var length = getTotalBitsFromDataArray(segments, currentVersion);\n if (length <= exports.getCapacity(currentVersion, errorCorrectionLevel, Mode.MIXED)) {\n return currentVersion\n }\n }\n\n return undefined\n}\n\n/**\n * Returns version number from a value.\n * If value is not a valid version, returns defaultValue\n *\n * @param {Number|String} value QR Code version\n * @param {Number} defaultValue Fallback value\n * @return {Number} QR Code version number\n */\nexports.from = function from (value, defaultValue) {\n if (VersionCheck.isValid(value)) {\n return parseInt(value, 10)\n }\n\n return defaultValue\n};\n\n/**\n * Returns how much data can be stored with the specified QR code version\n * and error correction level\n *\n * @param {Number} version QR Code version (1-40)\n * @param {Number} errorCorrectionLevel Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} Quantity of storable data\n */\nexports.getCapacity = function getCapacity (version, errorCorrectionLevel, mode) {\n if (!VersionCheck.isValid(version)) {\n throw new Error('Invalid QR Code version')\n }\n\n // Use Byte mode as default\n if (typeof mode === 'undefined') mode = Mode.BYTE;\n\n // Total codewords for this QR code version (Data + Error correction)\n var totalCodewords = Utils.getSymbolTotalCodewords(version);\n\n // Total number of error correction codewords\n var ecTotalCodewords = ECCode.getTotalCodewordsCount(version, errorCorrectionLevel);\n\n // Total number of data codewords\n var dataTotalCodewordsBits = (totalCodewords - ecTotalCodewords) * 8;\n\n if (mode === Mode.MIXED) return dataTotalCodewordsBits\n\n var usableBits = dataTotalCodewordsBits - getReservedBitsCount(mode, version);\n\n // Return max number of storable codewords\n switch (mode) {\n case Mode.NUMERIC:\n return Math.floor((usableBits / 10) * 3)\n\n case Mode.ALPHANUMERIC:\n return Math.floor((usableBits / 11) * 2)\n\n case Mode.KANJI:\n return Math.floor(usableBits / 13)\n\n case Mode.BYTE:\n default:\n return Math.floor(usableBits / 8)\n }\n};\n\n/**\n * Returns the minimum version needed to contain the amount of data\n *\n * @param {Segment} data Segment of data\n * @param {Number} [errorCorrectionLevel=H] Error correction level\n * @param {Mode} mode Data mode\n * @return {Number} QR Code version\n */\nexports.getBestVersionForData = function getBestVersionForData (data, errorCorrectionLevel) {\n var seg;\n\n var ecl = ECLevel.from(errorCorrectionLevel, ECLevel.M);\n\n if (isArray(data)) {\n if (data.length > 1) {\n return getBestVersionForMixedData(data, ecl)\n }\n\n if (data.length === 0) {\n return 1\n }\n\n seg = data[0];\n } else {\n seg = data;\n }\n\n return getBestVersionForDataLength(seg.mode, seg.getLength(), ecl)\n};\n\n/**\n * Returns version information with relative error correction bits\n *\n * The version information is included in QR Code symbols of version 7 or larger.\n * It consists of an 18-bit sequence containing 6 data bits,\n * with 12 error correction bits calculated using the (18, 6) Golay code.\n *\n * @param {Number} version QR Code version\n * @return {Number} Encoded version info bits\n */\nexports.getEncodedBits = function getEncodedBits (version) {\n if (!VersionCheck.isValid(version) || version < 7) {\n throw new Error('Invalid QR Code version')\n }\n\n var d = version << 12;\n\n while (Utils.getBCHDigit(d) - G18_BCH >= 0) {\n d ^= (G18 << (Utils.getBCHDigit(d) - G18_BCH));\n }\n\n return (version << 12) | d\n};\n\n},{\"./error-correction-code\":6,\"./error-correction-level\":7,\"./mode\":13,\"./utils\":20,\"./version-check\":21,\"isarray\":30}],23:[function(require,module,exports){\nvar canPromise = require('can-promise');\nvar QRCode = require('./core/qrcode');\nvar CanvasRenderer = require('./renderer/canvas');\nvar SvgRenderer = require('./renderer/svg-tag.js');\n\nfunction renderCanvas (renderFunc, canvas, text, opts, cb) {\n var args = [].slice.call(arguments, 1);\n var argsNum = args.length;\n var isLastArgCb = typeof args[argsNum - 1] === 'function';\n\n if (!isLastArgCb && !canPromise()) {\n throw new Error('Callback required as last argument')\n }\n\n if (isLastArgCb) {\n if (argsNum < 2) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 2) {\n cb = text;\n text = canvas;\n canvas = opts = undefined;\n } else if (argsNum === 3) {\n if (canvas.getContext && typeof cb === 'undefined') {\n cb = opts;\n opts = undefined;\n } else {\n cb = opts;\n opts = text;\n text = canvas;\n canvas = undefined;\n }\n }\n } else {\n if (argsNum < 1) {\n throw new Error('Too few arguments provided')\n }\n\n if (argsNum === 1) {\n text = canvas;\n canvas = opts = undefined;\n } else if (argsNum === 2 && !canvas.getContext) {\n opts = text;\n text = canvas;\n canvas = undefined;\n }\n\n return new Promise(function (resolve, reject) {\n try {\n var data = QRCode.create(text, opts);\n resolve(renderFunc(data, canvas, opts));\n } catch (e) {\n reject(e);\n }\n })\n }\n\n try {\n var data = QRCode.create(text, opts);\n cb(null, renderFunc(data, canvas, opts));\n } catch (e) {\n cb(e);\n }\n}\n\nexports.create = QRCode.create;\nexports.toCanvas = renderCanvas.bind(null, CanvasRenderer.render);\nexports.toDataURL = renderCanvas.bind(null, CanvasRenderer.renderToDataURL);\n\n// only svg for now.\nexports.toString = renderCanvas.bind(null, function (data, _, opts) {\n return SvgRenderer.render(data, opts)\n});\n\n},{\"./core/qrcode\":16,\"./renderer/canvas\":24,\"./renderer/svg-tag.js\":25,\"can-promise\":28}],24:[function(require,module,exports){\nvar Utils = require('./utils');\n\nfunction clearCanvas (ctx, canvas, size) {\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n\n if (!canvas.style) canvas.style = {};\n canvas.height = size;\n canvas.width = size;\n canvas.style.height = size + 'px';\n canvas.style.width = size + 'px';\n}\n\nfunction getCanvasElement () {\n try {\n return document.createElement('canvas')\n } catch (e) {\n throw new Error('You need to specify a canvas element')\n }\n}\n\nexports.render = function render (qrData, canvas, options) {\n var opts = options;\n var canvasEl = canvas;\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas;\n canvas = undefined;\n }\n\n if (!canvas) {\n canvasEl = getCanvasElement();\n }\n\n opts = Utils.getOptions(opts);\n var size = Utils.getImageWidth(qrData.modules.size, opts);\n\n var ctx = canvasEl.getContext('2d');\n var image = ctx.createImageData(size, size);\n Utils.qrToImageData(image.data, qrData, opts);\n\n clearCanvas(ctx, canvasEl, size);\n ctx.putImageData(image, 0, 0);\n\n return canvasEl\n};\n\nexports.renderToDataURL = function renderToDataURL (qrData, canvas, options) {\n var opts = options;\n\n if (typeof opts === 'undefined' && (!canvas || !canvas.getContext)) {\n opts = canvas;\n canvas = undefined;\n }\n\n if (!opts) opts = {};\n\n var canvasEl = exports.render(qrData, canvas, opts);\n\n var type = opts.type || 'image/png';\n var rendererOpts = opts.rendererOpts || {};\n\n return canvasEl.toDataURL(type, rendererOpts.quality)\n};\n\n},{\"./utils\":26}],25:[function(require,module,exports){\nvar Utils = require('./utils');\n\nfunction getColorAttrib (color, attrib) {\n var alpha = color.a / 255;\n var str = attrib + '=\"' + color.hex + '\"';\n\n return alpha < 1\n ? str + ' ' + attrib + '-opacity=\"' + alpha.toFixed(2).slice(1) + '\"'\n : str\n}\n\nfunction svgCmd (cmd, x, y) {\n var str = cmd + x;\n if (typeof y !== 'undefined') str += ' ' + y;\n\n return str\n}\n\nfunction qrToPath (data, size, margin) {\n var path = '';\n var moveBy = 0;\n var newRow = false;\n var lineLength = 0;\n\n for (var i = 0; i < data.length; i++) {\n var col = Math.floor(i % size);\n var row = Math.floor(i / size);\n\n if (!col && !newRow) newRow = true;\n\n if (data[i]) {\n lineLength++;\n\n if (!(i > 0 && col > 0 && data[i - 1])) {\n path += newRow\n ? svgCmd('M', col + margin, 0.5 + row + margin)\n : svgCmd('m', moveBy, 0);\n\n moveBy = 0;\n newRow = false;\n }\n\n if (!(col + 1 < size && data[i + 1])) {\n path += svgCmd('h', lineLength);\n lineLength = 0;\n }\n } else {\n moveBy++;\n }\n }\n\n return path\n}\n\nexports.render = function render (qrData, options, cb) {\n var opts = Utils.getOptions(options);\n var size = qrData.modules.size;\n var data = qrData.modules.data;\n var qrcodesize = size + opts.margin * 2;\n\n var bg = !opts.color.light.a\n ? ''\n : '';\n\n var path =\n '';\n\n var viewBox = 'viewBox=\"' + '0 0 ' + qrcodesize + ' ' + qrcodesize + '\"';\n\n var width = !opts.width ? '' : 'width=\"' + opts.width + '\" height=\"' + opts.width + '\" ';\n\n var svgTag = '' + bg + path + '\\n';\n\n if (typeof cb === 'function') {\n cb(null, svgTag);\n }\n\n return svgTag\n};\n\n},{\"./utils\":26}],26:[function(require,module,exports){\nfunction hex2rgba (hex) {\n if (typeof hex !== 'string') {\n throw new Error('Color should be defined as hex string')\n }\n\n var hexCode = hex.slice().replace('#', '').split('');\n if (hexCode.length < 3 || hexCode.length === 5 || hexCode.length > 8) {\n throw new Error('Invalid hex color: ' + hex)\n }\n\n // Convert from short to long form (fff -> ffffff)\n if (hexCode.length === 3 || hexCode.length === 4) {\n hexCode = Array.prototype.concat.apply([], hexCode.map(function (c) {\n return [c, c]\n }));\n }\n\n // Add default alpha value\n if (hexCode.length === 6) hexCode.push('F', 'F');\n\n var hexValue = parseInt(hexCode.join(''), 16);\n\n return {\n r: (hexValue >> 24) & 255,\n g: (hexValue >> 16) & 255,\n b: (hexValue >> 8) & 255,\n a: hexValue & 255,\n hex: '#' + hexCode.slice(0, 6).join('')\n }\n}\n\nexports.getOptions = function getOptions (options) {\n if (!options) options = {};\n if (!options.color) options.color = {};\n\n var margin = typeof options.margin === 'undefined' ||\n options.margin === null ||\n options.margin < 0 ? 4 : options.margin;\n\n var width = options.width && options.width >= 21 ? options.width : undefined;\n var scale = options.scale || 4;\n\n return {\n width: width,\n scale: width ? 4 : scale,\n margin: margin,\n color: {\n dark: hex2rgba(options.color.dark || '#000000ff'),\n light: hex2rgba(options.color.light || '#ffffffff')\n },\n type: options.type,\n rendererOpts: options.rendererOpts || {}\n }\n};\n\nexports.getScale = function getScale (qrSize, opts) {\n return opts.width && opts.width >= qrSize + opts.margin * 2\n ? opts.width / (qrSize + opts.margin * 2)\n : opts.scale\n};\n\nexports.getImageWidth = function getImageWidth (qrSize, opts) {\n var scale = exports.getScale(qrSize, opts);\n return Math.floor((qrSize + opts.margin * 2) * scale)\n};\n\nexports.qrToImageData = function qrToImageData (imgData, qr, opts) {\n var size = qr.modules.size;\n var data = qr.modules.data;\n var scale = exports.getScale(size, opts);\n var symbolSize = Math.floor((size + opts.margin * 2) * scale);\n var scaledMargin = opts.margin * scale;\n var palette = [opts.color.light, opts.color.dark];\n\n for (var i = 0; i < symbolSize; i++) {\n for (var j = 0; j < symbolSize; j++) {\n var posDst = (i * symbolSize + j) * 4;\n var pxColor = opts.color.light;\n\n if (i >= scaledMargin && j >= scaledMargin &&\n i < symbolSize - scaledMargin && j < symbolSize - scaledMargin) {\n var iSrc = Math.floor((i - scaledMargin) / scale);\n var jSrc = Math.floor((j - scaledMargin) / scale);\n pxColor = palette[data[iSrc * size + jSrc] ? 1 : 0];\n }\n\n imgData[posDst++] = pxColor.r;\n imgData[posDst++] = pxColor.g;\n imgData[posDst++] = pxColor.b;\n imgData[posDst] = pxColor.a;\n }\n }\n};\n\n},{}],27:[function(require,module,exports){\n\nvar isArray = require('isarray');\n\nfunction typedArraySupport () {\n // Can typed array instances be augmented?\n try {\n var arr = new Uint8Array(1);\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }};\n return arr.foo() === 42\n } catch (e) {\n return false\n }\n}\n\nBuffer.TYPED_ARRAY_SUPPORT = typedArraySupport();\n\nvar K_MAX_LENGTH = Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff;\n\nfunction Buffer (arg, offset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, offset, length)\n }\n\n if (typeof arg === 'number') {\n return allocUnsafe(this, arg)\n }\n\n return from(this, arg, offset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype;\n Buffer.__proto__ = Uint8Array;\n\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true,\n enumerable: false,\n writable: false\n });\n }\n}\n\nfunction checked (length) {\n // Note: cannot use `length < K_MAX_LENGTH` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= K_MAX_LENGTH) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n\nfunction createBuffer (that, length) {\n var buf;\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n buf = new Uint8Array(length);\n buf.__proto__ = Buffer.prototype;\n } else {\n // Fallback: Return an object instance of the Buffer class\n buf = that;\n if (buf === null) {\n buf = new Buffer(length);\n }\n buf.length = length;\n }\n\n return buf\n}\n\nfunction allocUnsafe (that, size) {\n var buf = createBuffer(that, size < 0 ? 0 : checked(size) | 0);\n\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n buf[i] = 0;\n }\n }\n\n return buf\n}\n\nfunction fromString (that, string) {\n var length = byteLength(string) | 0;\n var buf = createBuffer(that, length);\n\n var actual = buf.write(string);\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n buf = buf.slice(0, actual);\n }\n\n return buf\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0;\n var buf = createBuffer(that, length);\n for (var i = 0; i < length; i += 1) {\n buf[i] = array[i] & 255;\n }\n return buf\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n var buf;\n if (byteOffset === undefined && length === undefined) {\n buf = new Uint8Array(array);\n } else if (length === undefined) {\n buf = new Uint8Array(array, byteOffset);\n } else {\n buf = new Uint8Array(array, byteOffset, length);\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n buf.__proto__ = Buffer.prototype;\n } else {\n // Fallback: Return an object instance of the Buffer class\n buf = fromArrayLike(that, buf);\n }\n\n return buf\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0;\n var buf = createBuffer(that, len);\n\n if (buf.length === 0) {\n return buf\n }\n\n obj.copy(buf, 0, 0, len);\n return buf\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && Array.isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity;\n var codePoint;\n var length = string.length;\n var leadSurrogate = null;\n var bytes = [];\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i);\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint;\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n leadSurrogate = codePoint;\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000;\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD);\n }\n\n leadSurrogate = null;\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint);\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n );\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n );\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n );\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction byteLength (string) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string;\n }\n\n var len = string.length;\n if (len === 0) return 0\n\n return utf8ToBytes(string).length\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i];\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction from (that, value, offset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, offset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, offset)\n }\n\n return fromObject(that, value)\n}\n\nBuffer.prototype.write = function write (string, offset, length) {\n // Buffer#write(string)\n if (offset === undefined) {\n length = this.length;\n offset = 0;\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n length = this.length;\n offset = 0;\n // Buffer#write(string, offset[, length])\n } else if (isFinite(offset)) {\n offset = offset | 0;\n if (isFinite(length)) {\n length = length | 0;\n } else {\n length = undefined;\n }\n }\n\n var remaining = this.length - offset;\n if (length === undefined || length > remaining) length = remaining;\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n return utf8Write(this, string, offset, length)\n};\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length;\n start = ~~start;\n end = end === undefined ? len : ~~end;\n\n if (start < 0) {\n start += len;\n if (start < 0) start = 0;\n } else if (start > len) {\n start = len;\n }\n\n if (end < 0) {\n end += len;\n if (end < 0) end = 0;\n } else if (end > len) {\n end = len;\n }\n\n if (end < start) end = start;\n\n var newBuf;\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end);\n // Return an augmented `Uint8Array` instance\n newBuf.__proto__ = Buffer.prototype;\n } else {\n var sliceLen = end - start;\n newBuf = new Buffer(sliceLen, undefined);\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start];\n }\n }\n\n return newBuf\n};\n\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0;\n if (!end && end !== 0) end = this.length;\n if (targetStart >= target.length) targetStart = target.length;\n if (!targetStart) targetStart = 0;\n if (end > 0 && end < start) end = start;\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length;\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start;\n }\n\n var len = end - start;\n var i;\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start];\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start];\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n );\n }\n\n return len\n};\n\nBuffer.prototype.fill = function fill (val, start, end) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n start = 0;\n end = this.length;\n } else if (typeof end === 'string') {\n end = this.length;\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0);\n if (code < 256) {\n val = code;\n }\n }\n } else if (typeof val === 'number') {\n val = val & 255;\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0;\n end = end === undefined ? this.length : end >>> 0;\n\n if (!val) val = 0;\n\n var i;\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val;\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : new Buffer(val);\n var len = bytes.length;\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len];\n }\n }\n\n return this\n};\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return createBuffer(null, 0)\n }\n\n var i;\n if (length === undefined) {\n length = 0;\n for (i = 0; i < list.length; ++i) {\n length += list[i].length;\n }\n }\n\n var buffer = allocUnsafe(null, length);\n var pos = 0;\n for (i = 0; i < list.length; ++i) {\n var buf = list[i];\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos);\n pos += buf.length;\n }\n return buffer\n};\n\nBuffer.byteLength = byteLength;\n\nBuffer.prototype._isBuffer = true;\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n};\n\nmodule.exports = Buffer;\n\n},{\"isarray\":30}],28:[function(require,module,exports){\n\nvar G = require('window-or-global');\n\nmodule.exports = function() {\n return (\n typeof G.Promise === 'function' &&\n typeof G.Promise.prototype.then === 'function'\n )\n};\n\n},{\"window-or-global\":31}],29:[function(require,module,exports){\n\n/******************************************************************************\n * Created 2008-08-19.\n *\n * Dijkstra path-finding functions. Adapted from the Dijkstar Python project.\n *\n * Copyright (C) 2008\n * Wyatt Baldwin \n * All rights reserved\n *\n * Licensed under the MIT license.\n *\n * http://www.opensource.org/licenses/mit-license.php\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n *****************************************************************************/\nvar dijkstra = {\n single_source_shortest_paths: function(graph, s, d) {\n // Predecessor map for each node that has been encountered.\n // node ID => predecessor node ID\n var predecessors = {};\n\n // Costs of shortest paths from s to all nodes encountered.\n // node ID => cost\n var costs = {};\n costs[s] = 0;\n\n // Costs of shortest paths from s to all nodes encountered; differs from\n // `costs` in that it provides easy access to the node that currently has\n // the known shortest path from s.\n // XXX: Do we actually need both `costs` and `open`?\n var open = dijkstra.PriorityQueue.make();\n open.push(s, 0);\n\n var closest,\n u, v,\n cost_of_s_to_u,\n adjacent_nodes,\n cost_of_e,\n cost_of_s_to_u_plus_cost_of_e,\n cost_of_s_to_v,\n first_visit;\n while (!open.empty()) {\n // In the nodes remaining in graph that have a known cost from s,\n // find the node, u, that currently has the shortest path from s.\n closest = open.pop();\n u = closest.value;\n cost_of_s_to_u = closest.cost;\n\n // Get nodes adjacent to u...\n adjacent_nodes = graph[u] || {};\n\n // ...and explore the edges that connect u to those nodes, updating\n // the cost of the shortest paths to any or all of those nodes as\n // necessary. v is the node across the current edge from u.\n for (v in adjacent_nodes) {\n if (adjacent_nodes.hasOwnProperty(v)) {\n // Get the cost of the edge running from u to v.\n cost_of_e = adjacent_nodes[v];\n\n // Cost of s to u plus the cost of u to v across e--this is *a*\n // cost from s to v that may or may not be less than the current\n // known cost to v.\n cost_of_s_to_u_plus_cost_of_e = cost_of_s_to_u + cost_of_e;\n\n // If we haven't visited v yet OR if the current known cost from s to\n // v is greater than the new cost we just found (cost of s to u plus\n // cost of u to v across e), update v's cost in the cost list and\n // update v's predecessor in the predecessor list (it's now u).\n cost_of_s_to_v = costs[v];\n first_visit = (typeof costs[v] === 'undefined');\n if (first_visit || cost_of_s_to_v > cost_of_s_to_u_plus_cost_of_e) {\n costs[v] = cost_of_s_to_u_plus_cost_of_e;\n open.push(v, cost_of_s_to_u_plus_cost_of_e);\n predecessors[v] = u;\n }\n }\n }\n }\n\n if (typeof d !== 'undefined' && typeof costs[d] === 'undefined') {\n var msg = ['Could not find a path from ', s, ' to ', d, '.'].join('');\n throw new Error(msg);\n }\n\n return predecessors;\n },\n\n extract_shortest_path_from_predecessor_list: function(predecessors, d) {\n var nodes = [];\n var u = d;\n var predecessor;\n while (u) {\n nodes.push(u);\n predecessor = predecessors[u];\n u = predecessors[u];\n }\n nodes.reverse();\n return nodes;\n },\n\n find_path: function(graph, s, d) {\n var predecessors = dijkstra.single_source_shortest_paths(graph, s, d);\n return dijkstra.extract_shortest_path_from_predecessor_list(\n predecessors, d);\n },\n\n /**\n * A very naive priority queue implementation.\n */\n PriorityQueue: {\n make: function (opts) {\n var T = dijkstra.PriorityQueue,\n t = {},\n key;\n opts = opts || {};\n for (key in T) {\n if (T.hasOwnProperty(key)) {\n t[key] = T[key];\n }\n }\n t.queue = [];\n t.sorter = opts.sorter || T.default_sorter;\n return t;\n },\n\n default_sorter: function (a, b) {\n return a.cost - b.cost;\n },\n\n /**\n * Add a new item to the queue and ensure the highest priority element\n * is at the front of the queue.\n */\n push: function (value, cost) {\n var item = {value: value, cost: cost};\n this.queue.push(item);\n this.queue.sort(this.sorter);\n },\n\n /**\n * Return the highest priority element in the queue.\n */\n pop: function () {\n return this.queue.shift();\n },\n\n empty: function () {\n return this.queue.length === 0;\n }\n }\n};\n\n\n// node.js module exports\nif (typeof module !== 'undefined') {\n module.exports = dijkstra;\n}\n\n},{}],30:[function(require,module,exports){\nvar toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n\n},{}],31:[function(require,module,exports){\n(function (global){\nmodule.exports = (typeof self === 'object' && self.self === self && self) ||\n (typeof global === 'object' && global.global === global && global) ||\n this;\n\n}).call(this,typeof commonjsGlobal !== \"undefined\" ? commonjsGlobal : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {});\n\n},{}]},{},[23])(23)\n});\n\n\n});\n\nvar index = {\n name: 'qrcode',\n props: {\n /**\n * The options for the QR code generator.\n * {@link https://github.com/soldair/node-qrcode#qr-code-options}\n */\n options: Object,\n\n /**\n * The tag name of the component's root element.\n */\n tag: {\n type: String,\n default: 'canvas'\n },\n\n /**\n * The value of the QR code.\n */\n value: null\n },\n render: function render(createElement) {\n return createElement(this.tag, this.$slots.default);\n },\n watch: {\n $props: {\n deep: true,\n immediate: true,\n handler: function handler() {\n if (this.$el) {\n this.generate();\n }\n }\n }\n },\n methods: {\n /**\n * Generate QR code.\n */\n generate: function generate() {\n var _this = this;\n\n var options = this.options,\n tag = this.tag;\n var value = String(this.value);\n\n if (tag === 'canvas') {\n qrcode.toCanvas(this.$el, value, options, function (error) {\n if (error) {\n throw error;\n }\n });\n } else if (tag === 'img') {\n qrcode.toDataURL(value, options, function (error, url) {\n if (error) {\n throw error;\n }\n\n _this.$el.src = url;\n });\n } else {\n qrcode.toString(value, options, function (error, string) {\n if (error) {\n throw error;\n }\n\n _this.$el.innerHTML = string;\n });\n }\n }\n },\n mounted: function mounted() {\n this.generate();\n }\n};\n\nexport default index;\n","/*!\n * Cropper.js v1.4.3\n * https://fengyuanchen.github.io/cropperjs\n *\n * Copyright 2015-present Chen Fengyuan\n * Released under the MIT license\n *\n * Date: 2018-10-24T13:07:15.032Z\n */\n\nfunction _typeof(obj) {\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function (obj) {\n return typeof obj;\n };\n } else {\n _typeof = function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}\n\nfunction _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}\n\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nfunction _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\nfunction _toConsumableArray(arr) {\n return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();\n}\n\nfunction _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n }\n}\n\nfunction _iterableToArray(iter) {\n if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === \"[object Arguments]\") return Array.from(iter);\n}\n\nfunction _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance\");\n}\n\nvar IN_BROWSER = typeof window !== 'undefined';\nvar WINDOW = IN_BROWSER ? window : {};\nvar NAMESPACE = 'cropper'; // Actions\n\nvar ACTION_ALL = 'all';\nvar ACTION_CROP = 'crop';\nvar ACTION_MOVE = 'move';\nvar ACTION_ZOOM = 'zoom';\nvar ACTION_EAST = 'e';\nvar ACTION_WEST = 'w';\nvar ACTION_SOUTH = 's';\nvar ACTION_NORTH = 'n';\nvar ACTION_NORTH_EAST = 'ne';\nvar ACTION_NORTH_WEST = 'nw';\nvar ACTION_SOUTH_EAST = 'se';\nvar ACTION_SOUTH_WEST = 'sw'; // Classes\n\nvar CLASS_CROP = \"\".concat(NAMESPACE, \"-crop\");\nvar CLASS_DISABLED = \"\".concat(NAMESPACE, \"-disabled\");\nvar CLASS_HIDDEN = \"\".concat(NAMESPACE, \"-hidden\");\nvar CLASS_HIDE = \"\".concat(NAMESPACE, \"-hide\");\nvar CLASS_INVISIBLE = \"\".concat(NAMESPACE, \"-invisible\");\nvar CLASS_MODAL = \"\".concat(NAMESPACE, \"-modal\");\nvar CLASS_MOVE = \"\".concat(NAMESPACE, \"-move\"); // Data keys\n\nvar DATA_ACTION = \"\".concat(NAMESPACE, \"Action\");\nvar DATA_PREVIEW = \"\".concat(NAMESPACE, \"Preview\"); // Drag modes\n\nvar DRAG_MODE_CROP = 'crop';\nvar DRAG_MODE_MOVE = 'move';\nvar DRAG_MODE_NONE = 'none'; // Events\n\nvar EVENT_CROP = 'crop';\nvar EVENT_CROP_END = 'cropend';\nvar EVENT_CROP_MOVE = 'cropmove';\nvar EVENT_CROP_START = 'cropstart';\nvar EVENT_DBLCLICK = 'dblclick';\nvar EVENT_POINTER_DOWN = WINDOW.PointerEvent ? 'pointerdown' : 'touchstart mousedown';\nvar EVENT_POINTER_MOVE = WINDOW.PointerEvent ? 'pointermove' : 'touchmove mousemove';\nvar EVENT_POINTER_UP = WINDOW.PointerEvent ? 'pointerup pointercancel' : 'touchend touchcancel mouseup';\nvar EVENT_READY = 'ready';\nvar EVENT_RESIZE = 'resize';\nvar EVENT_WHEEL = 'wheel mousewheel DOMMouseScroll';\nvar EVENT_ZOOM = 'zoom'; // Mime types\n\nvar MIME_TYPE_JPEG = 'image/jpeg'; // RegExps\n\nvar REGEXP_ACTIONS = /^(?:e|w|s|n|se|sw|ne|nw|all|crop|move|zoom)$/;\nvar REGEXP_DATA_URL = /^data:/;\nvar REGEXP_DATA_URL_JPEG = /^data:image\\/jpeg;base64,/;\nvar REGEXP_TAG_NAME = /^(?:img|canvas)$/i;\n\nvar DEFAULTS = {\n // Define the view mode of the cropper\n viewMode: 0,\n // 0, 1, 2, 3\n // Define the dragging mode of the cropper\n dragMode: DRAG_MODE_CROP,\n // 'crop', 'move' or 'none'\n // Define the initial aspect ratio of the crop box\n initialAspectRatio: NaN,\n // Define the aspect ratio of the crop box\n aspectRatio: NaN,\n // An object with the previous cropping result data\n data: null,\n // A selector for adding extra containers to preview\n preview: '',\n // Re-render the cropper when resize the window\n responsive: true,\n // Restore the cropped area after resize the window\n restore: true,\n // Check if the current image is a cross-origin image\n checkCrossOrigin: true,\n // Check the current image's Exif Orientation information\n checkOrientation: true,\n // Show the black modal\n modal: true,\n // Show the dashed lines for guiding\n guides: true,\n // Show the center indicator for guiding\n center: true,\n // Show the white modal to highlight the crop box\n highlight: true,\n // Show the grid background\n background: true,\n // Enable to crop the image automatically when initialize\n autoCrop: true,\n // Define the percentage of automatic cropping area when initializes\n autoCropArea: 0.8,\n // Enable to move the image\n movable: true,\n // Enable to rotate the image\n rotatable: true,\n // Enable to scale the image\n scalable: true,\n // Enable to zoom the image\n zoomable: true,\n // Enable to zoom the image by dragging touch\n zoomOnTouch: true,\n // Enable to zoom the image by wheeling mouse\n zoomOnWheel: true,\n // Define zoom ratio when zoom the image by wheeling mouse\n wheelZoomRatio: 0.1,\n // Enable to move the crop box\n cropBoxMovable: true,\n // Enable to resize the crop box\n cropBoxResizable: true,\n // Toggle drag mode between \"crop\" and \"move\" when click twice on the cropper\n toggleDragModeOnDblclick: true,\n // Size limitation\n minCanvasWidth: 0,\n minCanvasHeight: 0,\n minCropBoxWidth: 0,\n minCropBoxHeight: 0,\n minContainerWidth: 200,\n minContainerHeight: 100,\n // Shortcuts of events\n ready: null,\n cropstart: null,\n cropmove: null,\n cropend: null,\n crop: null,\n zoom: null\n};\n\nvar TEMPLATE = '
' + '
' + '
' + '
' + '
' + '
' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '' + '
' + '
';\n\n/**\n * Check if the given value is not a number.\n */\n\nvar isNaN = Number.isNaN || WINDOW.isNaN;\n/**\n * Check if the given value is a number.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a number, else `false`.\n */\n\nfunction isNumber(value) {\n return typeof value === 'number' && !isNaN(value);\n}\n/**\n * Check if the given value is undefined.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is undefined, else `false`.\n */\n\nfunction isUndefined(value) {\n return typeof value === 'undefined';\n}\n/**\n * Check if the given value is an object.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is an object, else `false`.\n */\n\nfunction isObject(value) {\n return _typeof(value) === 'object' && value !== null;\n}\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n/**\n * Check if the given value is a plain object.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a plain object, else `false`.\n */\n\nfunction isPlainObject(value) {\n if (!isObject(value)) {\n return false;\n }\n\n try {\n var _constructor = value.constructor;\n var prototype = _constructor.prototype;\n return _constructor && prototype && hasOwnProperty.call(prototype, 'isPrototypeOf');\n } catch (e) {\n return false;\n }\n}\n/**\n * Check if the given value is a function.\n * @param {*} value - The value to check.\n * @returns {boolean} Returns `true` if the given value is a function, else `false`.\n */\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n/**\n * Iterate the given data.\n * @param {*} data - The data to iterate.\n * @param {Function} callback - The process function for each element.\n * @returns {*} The original data.\n */\n\nfunction forEach(data, callback) {\n if (data && isFunction(callback)) {\n if (Array.isArray(data) || isNumber(data.length)\n /* array-like */\n ) {\n var length = data.length;\n var i;\n\n for (i = 0; i < length; i += 1) {\n if (callback.call(data, data[i], i, data) === false) {\n break;\n }\n }\n } else if (isObject(data)) {\n Object.keys(data).forEach(function (key) {\n callback.call(data, data[key], key, data);\n });\n }\n }\n\n return data;\n}\n/**\n * Extend the given object.\n * @param {*} obj - The object to be extended.\n * @param {*} args - The rest objects which will be merged to the first object.\n * @returns {Object} The extended object.\n */\n\nvar assign = Object.assign || function assign(obj) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (isObject(obj) && args.length > 0) {\n args.forEach(function (arg) {\n if (isObject(arg)) {\n Object.keys(arg).forEach(function (key) {\n obj[key] = arg[key];\n });\n }\n });\n }\n\n return obj;\n};\nvar REGEXP_DECIMALS = /\\.\\d*(?:0|9){12}\\d*$/;\n/**\n * Normalize decimal number.\n * Check out {@link http://0.30000000000000004.com/}\n * @param {number} value - The value to normalize.\n * @param {number} [times=100000000000] - The times for normalizing.\n * @returns {number} Returns the normalized number.\n */\n\nfunction normalizeDecimalNumber(value) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 100000000000;\n return REGEXP_DECIMALS.test(value) ? Math.round(value * times) / times : value;\n}\nvar REGEXP_SUFFIX = /^(?:width|height|left|top|marginLeft|marginTop)$/;\n/**\n * Apply styles to the given element.\n * @param {Element} element - The target element.\n * @param {Object} styles - The styles for applying.\n */\n\nfunction setStyle(element, styles) {\n var style = element.style;\n forEach(styles, function (value, property) {\n if (REGEXP_SUFFIX.test(property) && isNumber(value)) {\n value += 'px';\n }\n\n style[property] = value;\n });\n}\n/**\n * Check if the given element has a special class.\n * @param {Element} element - The element to check.\n * @param {string} value - The class to search.\n * @returns {boolean} Returns `true` if the special class was found.\n */\n\nfunction hasClass(element, value) {\n return element.classList ? element.classList.contains(value) : element.className.indexOf(value) > -1;\n}\n/**\n * Add classes to the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be added.\n */\n\nfunction addClass(element, value) {\n if (!value) {\n return;\n }\n\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n addClass(elem, value);\n });\n return;\n }\n\n if (element.classList) {\n element.classList.add(value);\n return;\n }\n\n var className = element.className.trim();\n\n if (!className) {\n element.className = value;\n } else if (className.indexOf(value) < 0) {\n element.className = \"\".concat(className, \" \").concat(value);\n }\n}\n/**\n * Remove classes from the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be removed.\n */\n\nfunction removeClass(element, value) {\n if (!value) {\n return;\n }\n\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n removeClass(elem, value);\n });\n return;\n }\n\n if (element.classList) {\n element.classList.remove(value);\n return;\n }\n\n if (element.className.indexOf(value) >= 0) {\n element.className = element.className.replace(value, '');\n }\n}\n/**\n * Add or remove classes from the given element.\n * @param {Element} element - The target element.\n * @param {string} value - The classes to be toggled.\n * @param {boolean} added - Add only.\n */\n\nfunction toggleClass(element, value, added) {\n if (!value) {\n return;\n }\n\n if (isNumber(element.length)) {\n forEach(element, function (elem) {\n toggleClass(elem, value, added);\n });\n return;\n } // IE10-11 doesn't support the second parameter of `classList.toggle`\n\n\n if (added) {\n addClass(element, value);\n } else {\n removeClass(element, value);\n }\n}\nvar REGEXP_HYPHENATE = /([a-z\\d])([A-Z])/g;\n/**\n * Transform the given string from camelCase to kebab-case\n * @param {string} value - The value to transform.\n * @returns {string} The transformed value.\n */\n\nfunction hyphenate(value) {\n return value.replace(REGEXP_HYPHENATE, '$1-$2').toLowerCase();\n}\n/**\n * Get data from the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to get.\n * @returns {string} The data value.\n */\n\nfunction getData(element, name) {\n if (isObject(element[name])) {\n return element[name];\n }\n\n if (element.dataset) {\n return element.dataset[name];\n }\n\n return element.getAttribute(\"data-\".concat(hyphenate(name)));\n}\n/**\n * Set data to the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to set.\n * @param {string} data - The data value.\n */\n\nfunction setData(element, name, data) {\n if (isObject(data)) {\n element[name] = data;\n } else if (element.dataset) {\n element.dataset[name] = data;\n } else {\n element.setAttribute(\"data-\".concat(hyphenate(name)), data);\n }\n}\n/**\n * Remove data from the given element.\n * @param {Element} element - The target element.\n * @param {string} name - The data key to remove.\n */\n\nfunction removeData(element, name) {\n if (isObject(element[name])) {\n try {\n delete element[name];\n } catch (e) {\n element[name] = undefined;\n }\n } else if (element.dataset) {\n // #128 Safari not allows to delete dataset property\n try {\n delete element.dataset[name];\n } catch (e) {\n element.dataset[name] = undefined;\n }\n } else {\n element.removeAttribute(\"data-\".concat(hyphenate(name)));\n }\n}\nvar REGEXP_SPACES = /\\s\\s*/;\n\nvar onceSupported = function () {\n var supported = false;\n\n if (IN_BROWSER) {\n var once = false;\n\n var listener = function listener() {};\n\n var options = Object.defineProperty({}, 'once', {\n get: function get() {\n supported = true;\n return once;\n },\n\n /**\n * This setter can fix a `TypeError` in strict mode\n * {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Getter_only}\n * @param {boolean} value - The value to set\n */\n set: function set(value) {\n once = value;\n }\n });\n WINDOW.addEventListener('test', listener, options);\n WINDOW.removeEventListener('test', listener, options);\n }\n\n return supported;\n}();\n/**\n * Remove event listener from the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Function} listener - The event listener.\n * @param {Object} options - The event options.\n */\n\n\nfunction removeListener(element, type, listener) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var handler = listener;\n type.trim().split(REGEXP_SPACES).forEach(function (event) {\n if (!onceSupported) {\n var listeners = element.listeners;\n\n if (listeners && listeners[event] && listeners[event][listener]) {\n handler = listeners[event][listener];\n delete listeners[event][listener];\n\n if (Object.keys(listeners[event]).length === 0) {\n delete listeners[event];\n }\n\n if (Object.keys(listeners).length === 0) {\n delete element.listeners;\n }\n }\n }\n\n element.removeEventListener(event, handler, options);\n });\n}\n/**\n * Add event listener to the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Function} listener - The event listener.\n * @param {Object} options - The event options.\n */\n\nfunction addListener(element, type, listener) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var _handler = listener;\n type.trim().split(REGEXP_SPACES).forEach(function (event) {\n if (options.once && !onceSupported) {\n var _element$listeners = element.listeners,\n listeners = _element$listeners === void 0 ? {} : _element$listeners;\n\n _handler = function handler() {\n delete listeners[event][listener];\n element.removeEventListener(event, _handler, options);\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n listener.apply(element, args);\n };\n\n if (!listeners[event]) {\n listeners[event] = {};\n }\n\n if (listeners[event][listener]) {\n element.removeEventListener(event, listeners[event][listener], options);\n }\n\n listeners[event][listener] = _handler;\n element.listeners = listeners;\n }\n\n element.addEventListener(event, _handler, options);\n });\n}\n/**\n * Dispatch event on the target element.\n * @param {Element} element - The event target.\n * @param {string} type - The event type(s).\n * @param {Object} data - The additional event data.\n * @returns {boolean} Indicate if the event is default prevented or not.\n */\n\nfunction dispatchEvent(element, type, data) {\n var event; // Event and CustomEvent on IE9-11 are global objects, not constructors\n\n if (isFunction(Event) && isFunction(CustomEvent)) {\n event = new CustomEvent(type, {\n detail: data,\n bubbles: true,\n cancelable: true\n });\n } else {\n event = document.createEvent('CustomEvent');\n event.initCustomEvent(type, true, true, data);\n }\n\n return element.dispatchEvent(event);\n}\n/**\n * Get the offset base on the document.\n * @param {Element} element - The target element.\n * @returns {Object} The offset data.\n */\n\nfunction getOffset(element) {\n var box = element.getBoundingClientRect();\n return {\n left: box.left + (window.pageXOffset - document.documentElement.clientLeft),\n top: box.top + (window.pageYOffset - document.documentElement.clientTop)\n };\n}\nvar location = WINDOW.location;\nvar REGEXP_ORIGINS = /^(https?:)\\/\\/([^:/?#]+):?(\\d*)/i;\n/**\n * Check if the given URL is a cross origin URL.\n * @param {string} url - The target URL.\n * @returns {boolean} Returns `true` if the given URL is a cross origin URL, else `false`.\n */\n\nfunction isCrossOriginURL(url) {\n var parts = url.match(REGEXP_ORIGINS);\n return parts && (parts[1] !== location.protocol || parts[2] !== location.hostname || parts[3] !== location.port);\n}\n/**\n * Add timestamp to the given URL.\n * @param {string} url - The target URL.\n * @returns {string} The result URL.\n */\n\nfunction addTimestamp(url) {\n var timestamp = \"timestamp=\".concat(new Date().getTime());\n return url + (url.indexOf('?') === -1 ? '?' : '&') + timestamp;\n}\n/**\n * Get transforms base on the given object.\n * @param {Object} obj - The target object.\n * @returns {string} A string contains transform values.\n */\n\nfunction getTransforms(_ref) {\n var rotate = _ref.rotate,\n scaleX = _ref.scaleX,\n scaleY = _ref.scaleY,\n translateX = _ref.translateX,\n translateY = _ref.translateY;\n var values = [];\n\n if (isNumber(translateX) && translateX !== 0) {\n values.push(\"translateX(\".concat(translateX, \"px)\"));\n }\n\n if (isNumber(translateY) && translateY !== 0) {\n values.push(\"translateY(\".concat(translateY, \"px)\"));\n } // Rotate should come first before scale to match orientation transform\n\n\n if (isNumber(rotate) && rotate !== 0) {\n values.push(\"rotate(\".concat(rotate, \"deg)\"));\n }\n\n if (isNumber(scaleX) && scaleX !== 1) {\n values.push(\"scaleX(\".concat(scaleX, \")\"));\n }\n\n if (isNumber(scaleY) && scaleY !== 1) {\n values.push(\"scaleY(\".concat(scaleY, \")\"));\n }\n\n var transform = values.length ? values.join(' ') : 'none';\n return {\n WebkitTransform: transform,\n msTransform: transform,\n transform: transform\n };\n}\n/**\n * Get the max ratio of a group of pointers.\n * @param {string} pointers - The target pointers.\n * @returns {number} The result ratio.\n */\n\nfunction getMaxZoomRatio(pointers) {\n var pointers2 = assign({}, pointers);\n var ratios = [];\n forEach(pointers, function (pointer, pointerId) {\n delete pointers2[pointerId];\n forEach(pointers2, function (pointer2) {\n var x1 = Math.abs(pointer.startX - pointer2.startX);\n var y1 = Math.abs(pointer.startY - pointer2.startY);\n var x2 = Math.abs(pointer.endX - pointer2.endX);\n var y2 = Math.abs(pointer.endY - pointer2.endY);\n var z1 = Math.sqrt(x1 * x1 + y1 * y1);\n var z2 = Math.sqrt(x2 * x2 + y2 * y2);\n var ratio = (z2 - z1) / z1;\n ratios.push(ratio);\n });\n });\n ratios.sort(function (a, b) {\n return Math.abs(a) < Math.abs(b);\n });\n return ratios[0];\n}\n/**\n * Get a pointer from an event object.\n * @param {Object} event - The target event object.\n * @param {boolean} endOnly - Indicates if only returns the end point coordinate or not.\n * @returns {Object} The result pointer contains start and/or end point coordinates.\n */\n\nfunction getPointer(_ref2, endOnly) {\n var pageX = _ref2.pageX,\n pageY = _ref2.pageY;\n var end = {\n endX: pageX,\n endY: pageY\n };\n return endOnly ? end : assign({\n startX: pageX,\n startY: pageY\n }, end);\n}\n/**\n * Get the center point coordinate of a group of pointers.\n * @param {Object} pointers - The target pointers.\n * @returns {Object} The center point coordinate.\n */\n\nfunction getPointersCenter(pointers) {\n var pageX = 0;\n var pageY = 0;\n var count = 0;\n forEach(pointers, function (_ref3) {\n var startX = _ref3.startX,\n startY = _ref3.startY;\n pageX += startX;\n pageY += startY;\n count += 1;\n });\n pageX /= count;\n pageY /= count;\n return {\n pageX: pageX,\n pageY: pageY\n };\n}\n/**\n * Check if the given value is a finite number.\n */\n\nvar isFinite = Number.isFinite || WINDOW.isFinite;\n/**\n * Get the max sizes in a rectangle under the given aspect ratio.\n * @param {Object} data - The original sizes.\n * @param {string} [type='contain'] - The adjust type.\n * @returns {Object} The result sizes.\n */\n\nfunction getAdjustedSizes(_ref4) // or 'cover'\n{\n var aspectRatio = _ref4.aspectRatio,\n height = _ref4.height,\n width = _ref4.width;\n var type = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'contain';\n\n var isValidNumber = function isValidNumber(value) {\n return isFinite(value) && value > 0;\n };\n\n if (isValidNumber(width) && isValidNumber(height)) {\n var adjustedWidth = height * aspectRatio;\n\n if (type === 'contain' && adjustedWidth > width || type === 'cover' && adjustedWidth < width) {\n height = width / aspectRatio;\n } else {\n width = height * aspectRatio;\n }\n } else if (isValidNumber(width)) {\n height = width / aspectRatio;\n } else if (isValidNumber(height)) {\n width = height * aspectRatio;\n }\n\n return {\n width: width,\n height: height\n };\n}\n/**\n * Get the new sizes of a rectangle after rotated.\n * @param {Object} data - The original sizes.\n * @returns {Object} The result sizes.\n */\n\nfunction getRotatedSizes(_ref5) {\n var width = _ref5.width,\n height = _ref5.height,\n degree = _ref5.degree;\n degree = Math.abs(degree) % 180;\n\n if (degree === 90) {\n return {\n width: height,\n height: width\n };\n }\n\n var arc = degree % 90 * Math.PI / 180;\n var sinArc = Math.sin(arc);\n var cosArc = Math.cos(arc);\n var newWidth = width * cosArc + height * sinArc;\n var newHeight = width * sinArc + height * cosArc;\n return degree > 90 ? {\n width: newHeight,\n height: newWidth\n } : {\n width: newWidth,\n height: newHeight\n };\n}\n/**\n * Get a canvas which drew the given image.\n * @param {HTMLImageElement} image - The image for drawing.\n * @param {Object} imageData - The image data.\n * @param {Object} canvasData - The canvas data.\n * @param {Object} options - The options.\n * @returns {HTMLCanvasElement} The result canvas.\n */\n\nfunction getSourceCanvas(image, _ref6, _ref7, _ref8) {\n var imageAspectRatio = _ref6.aspectRatio,\n imageNaturalWidth = _ref6.naturalWidth,\n imageNaturalHeight = _ref6.naturalHeight,\n _ref6$rotate = _ref6.rotate,\n rotate = _ref6$rotate === void 0 ? 0 : _ref6$rotate,\n _ref6$scaleX = _ref6.scaleX,\n scaleX = _ref6$scaleX === void 0 ? 1 : _ref6$scaleX,\n _ref6$scaleY = _ref6.scaleY,\n scaleY = _ref6$scaleY === void 0 ? 1 : _ref6$scaleY;\n var aspectRatio = _ref7.aspectRatio,\n naturalWidth = _ref7.naturalWidth,\n naturalHeight = _ref7.naturalHeight;\n var _ref8$fillColor = _ref8.fillColor,\n fillColor = _ref8$fillColor === void 0 ? 'transparent' : _ref8$fillColor,\n _ref8$imageSmoothingE = _ref8.imageSmoothingEnabled,\n imageSmoothingEnabled = _ref8$imageSmoothingE === void 0 ? true : _ref8$imageSmoothingE,\n _ref8$imageSmoothingQ = _ref8.imageSmoothingQuality,\n imageSmoothingQuality = _ref8$imageSmoothingQ === void 0 ? 'low' : _ref8$imageSmoothingQ,\n _ref8$maxWidth = _ref8.maxWidth,\n maxWidth = _ref8$maxWidth === void 0 ? Infinity : _ref8$maxWidth,\n _ref8$maxHeight = _ref8.maxHeight,\n maxHeight = _ref8$maxHeight === void 0 ? Infinity : _ref8$maxHeight,\n _ref8$minWidth = _ref8.minWidth,\n minWidth = _ref8$minWidth === void 0 ? 0 : _ref8$minWidth,\n _ref8$minHeight = _ref8.minHeight,\n minHeight = _ref8$minHeight === void 0 ? 0 : _ref8$minHeight;\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n var maxSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: maxWidth,\n height: maxHeight\n });\n var minSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: minWidth,\n height: minHeight\n }, 'cover');\n var width = Math.min(maxSizes.width, Math.max(minSizes.width, naturalWidth));\n var height = Math.min(maxSizes.height, Math.max(minSizes.height, naturalHeight)); // Note: should always use image's natural sizes for drawing as\n // imageData.naturalWidth === canvasData.naturalHeight when rotate % 180 === 90\n\n var destMaxSizes = getAdjustedSizes({\n aspectRatio: imageAspectRatio,\n width: maxWidth,\n height: maxHeight\n });\n var destMinSizes = getAdjustedSizes({\n aspectRatio: imageAspectRatio,\n width: minWidth,\n height: minHeight\n }, 'cover');\n var destWidth = Math.min(destMaxSizes.width, Math.max(destMinSizes.width, imageNaturalWidth));\n var destHeight = Math.min(destMaxSizes.height, Math.max(destMinSizes.height, imageNaturalHeight));\n var params = [-destWidth / 2, -destHeight / 2, destWidth, destHeight];\n canvas.width = normalizeDecimalNumber(width);\n canvas.height = normalizeDecimalNumber(height);\n context.fillStyle = fillColor;\n context.fillRect(0, 0, width, height);\n context.save();\n context.translate(width / 2, height / 2);\n context.rotate(rotate * Math.PI / 180);\n context.scale(scaleX, scaleY);\n context.imageSmoothingEnabled = imageSmoothingEnabled;\n context.imageSmoothingQuality = imageSmoothingQuality;\n context.drawImage.apply(context, [image].concat(_toConsumableArray(params.map(function (param) {\n return Math.floor(normalizeDecimalNumber(param));\n }))));\n context.restore();\n return canvas;\n}\nvar fromCharCode = String.fromCharCode;\n/**\n * Get string from char code in data view.\n * @param {DataView} dataView - The data view for read.\n * @param {number} start - The start index.\n * @param {number} length - The read length.\n * @returns {string} The read result.\n */\n\nfunction getStringFromCharCode(dataView, start, length) {\n var str = '';\n var i;\n length += start;\n\n for (i = start; i < length; i += 1) {\n str += fromCharCode(dataView.getUint8(i));\n }\n\n return str;\n}\nvar REGEXP_DATA_URL_HEAD = /^data:.*,/;\n/**\n * Transform Data URL to array buffer.\n * @param {string} dataURL - The Data URL to transform.\n * @returns {ArrayBuffer} The result array buffer.\n */\n\nfunction dataURLToArrayBuffer(dataURL) {\n var base64 = dataURL.replace(REGEXP_DATA_URL_HEAD, '');\n var binary = atob(base64);\n var arrayBuffer = new ArrayBuffer(binary.length);\n var uint8 = new Uint8Array(arrayBuffer);\n forEach(uint8, function (value, i) {\n uint8[i] = binary.charCodeAt(i);\n });\n return arrayBuffer;\n}\n/**\n * Transform array buffer to Data URL.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to transform.\n * @param {string} mimeType - The mime type of the Data URL.\n * @returns {string} The result Data URL.\n */\n\nfunction arrayBufferToDataURL(arrayBuffer, mimeType) {\n var chunks = [];\n var chunkSize = 8192;\n var uint8 = new Uint8Array(arrayBuffer);\n\n while (uint8.length > 0) {\n chunks.push(fromCharCode.apply(void 0, _toConsumableArray(uint8.subarray(0, chunkSize))));\n uint8 = uint8.subarray(chunkSize);\n }\n\n return \"data:\".concat(mimeType, \";base64,\").concat(btoa(chunks.join('')));\n}\n/**\n * Get orientation value from given array buffer.\n * @param {ArrayBuffer} arrayBuffer - The array buffer to read.\n * @returns {number} The read orientation value.\n */\n\nfunction resetAndGetOrientation(arrayBuffer) {\n var dataView = new DataView(arrayBuffer);\n var orientation; // Ignores range error when the image does not have correct Exif information\n\n try {\n var littleEndian;\n var app1Start;\n var ifdStart; // Only handle JPEG image (start by 0xFFD8)\n\n if (dataView.getUint8(0) === 0xFF && dataView.getUint8(1) === 0xD8) {\n var length = dataView.byteLength;\n var offset = 2;\n\n while (offset + 1 < length) {\n if (dataView.getUint8(offset) === 0xFF && dataView.getUint8(offset + 1) === 0xE1) {\n app1Start = offset;\n break;\n }\n\n offset += 1;\n }\n }\n\n if (app1Start) {\n var exifIDCode = app1Start + 4;\n var tiffOffset = app1Start + 10;\n\n if (getStringFromCharCode(dataView, exifIDCode, 4) === 'Exif') {\n var endianness = dataView.getUint16(tiffOffset);\n littleEndian = endianness === 0x4949;\n\n if (littleEndian || endianness === 0x4D4D\n /* bigEndian */\n ) {\n if (dataView.getUint16(tiffOffset + 2, littleEndian) === 0x002A) {\n var firstIFDOffset = dataView.getUint32(tiffOffset + 4, littleEndian);\n\n if (firstIFDOffset >= 0x00000008) {\n ifdStart = tiffOffset + firstIFDOffset;\n }\n }\n }\n }\n }\n\n if (ifdStart) {\n var _length = dataView.getUint16(ifdStart, littleEndian);\n\n var _offset;\n\n var i;\n\n for (i = 0; i < _length; i += 1) {\n _offset = ifdStart + i * 12 + 2;\n\n if (dataView.getUint16(_offset, littleEndian) === 0x0112\n /* Orientation */\n ) {\n // 8 is the offset of the current tag's value\n _offset += 8; // Get the original orientation value\n\n orientation = dataView.getUint16(_offset, littleEndian); // Override the orientation with its default value\n\n dataView.setUint16(_offset, 1, littleEndian);\n break;\n }\n }\n }\n } catch (e) {\n orientation = 1;\n }\n\n return orientation;\n}\n/**\n * Parse Exif Orientation value.\n * @param {number} orientation - The orientation to parse.\n * @returns {Object} The parsed result.\n */\n\nfunction parseOrientation(orientation) {\n var rotate = 0;\n var scaleX = 1;\n var scaleY = 1;\n\n switch (orientation) {\n // Flip horizontal\n case 2:\n scaleX = -1;\n break;\n // Rotate left 180°\n\n case 3:\n rotate = -180;\n break;\n // Flip vertical\n\n case 4:\n scaleY = -1;\n break;\n // Flip vertical and rotate right 90°\n\n case 5:\n rotate = 90;\n scaleY = -1;\n break;\n // Rotate right 90°\n\n case 6:\n rotate = 90;\n break;\n // Flip horizontal and rotate right 90°\n\n case 7:\n rotate = 90;\n scaleX = -1;\n break;\n // Rotate left 90°\n\n case 8:\n rotate = -90;\n break;\n\n default:\n }\n\n return {\n rotate: rotate,\n scaleX: scaleX,\n scaleY: scaleY\n };\n}\n\nvar render = {\n render: function render() {\n this.initContainer();\n this.initCanvas();\n this.initCropBox();\n this.renderCanvas();\n\n if (this.cropped) {\n this.renderCropBox();\n }\n },\n initContainer: function initContainer() {\n var element = this.element,\n options = this.options,\n container = this.container,\n cropper = this.cropper;\n addClass(cropper, CLASS_HIDDEN);\n removeClass(element, CLASS_HIDDEN);\n var containerData = {\n width: Math.max(container.offsetWidth, Number(options.minContainerWidth) || 200),\n height: Math.max(container.offsetHeight, Number(options.minContainerHeight) || 100)\n };\n this.containerData = containerData;\n setStyle(cropper, {\n width: containerData.width,\n height: containerData.height\n });\n addClass(element, CLASS_HIDDEN);\n removeClass(cropper, CLASS_HIDDEN);\n },\n // Canvas (image wrapper)\n initCanvas: function initCanvas() {\n var containerData = this.containerData,\n imageData = this.imageData;\n var viewMode = this.options.viewMode;\n var rotated = Math.abs(imageData.rotate) % 180 === 90;\n var naturalWidth = rotated ? imageData.naturalHeight : imageData.naturalWidth;\n var naturalHeight = rotated ? imageData.naturalWidth : imageData.naturalHeight;\n var aspectRatio = naturalWidth / naturalHeight;\n var canvasWidth = containerData.width;\n var canvasHeight = containerData.height;\n\n if (containerData.height * aspectRatio > containerData.width) {\n if (viewMode === 3) {\n canvasWidth = containerData.height * aspectRatio;\n } else {\n canvasHeight = containerData.width / aspectRatio;\n }\n } else if (viewMode === 3) {\n canvasHeight = containerData.width / aspectRatio;\n } else {\n canvasWidth = containerData.height * aspectRatio;\n }\n\n var canvasData = {\n aspectRatio: aspectRatio,\n naturalWidth: naturalWidth,\n naturalHeight: naturalHeight,\n width: canvasWidth,\n height: canvasHeight\n };\n canvasData.left = (containerData.width - canvasWidth) / 2;\n canvasData.top = (containerData.height - canvasHeight) / 2;\n canvasData.oldLeft = canvasData.left;\n canvasData.oldTop = canvasData.top;\n this.canvasData = canvasData;\n this.limited = viewMode === 1 || viewMode === 2;\n this.limitCanvas(true, true);\n this.initialImageData = assign({}, imageData);\n this.initialCanvasData = assign({}, canvasData);\n },\n limitCanvas: function limitCanvas(sizeLimited, positionLimited) {\n var options = this.options,\n containerData = this.containerData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var viewMode = options.viewMode;\n var aspectRatio = canvasData.aspectRatio;\n var cropped = this.cropped && cropBoxData;\n\n if (sizeLimited) {\n var minCanvasWidth = Number(options.minCanvasWidth) || 0;\n var minCanvasHeight = Number(options.minCanvasHeight) || 0;\n\n if (viewMode > 1) {\n minCanvasWidth = Math.max(minCanvasWidth, containerData.width);\n minCanvasHeight = Math.max(minCanvasHeight, containerData.height);\n\n if (viewMode === 3) {\n if (minCanvasHeight * aspectRatio > minCanvasWidth) {\n minCanvasWidth = minCanvasHeight * aspectRatio;\n } else {\n minCanvasHeight = minCanvasWidth / aspectRatio;\n }\n }\n } else if (viewMode > 0) {\n if (minCanvasWidth) {\n minCanvasWidth = Math.max(minCanvasWidth, cropped ? cropBoxData.width : 0);\n } else if (minCanvasHeight) {\n minCanvasHeight = Math.max(minCanvasHeight, cropped ? cropBoxData.height : 0);\n } else if (cropped) {\n minCanvasWidth = cropBoxData.width;\n minCanvasHeight = cropBoxData.height;\n\n if (minCanvasHeight * aspectRatio > minCanvasWidth) {\n minCanvasWidth = minCanvasHeight * aspectRatio;\n } else {\n minCanvasHeight = minCanvasWidth / aspectRatio;\n }\n }\n }\n\n var _getAdjustedSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: minCanvasWidth,\n height: minCanvasHeight\n });\n\n minCanvasWidth = _getAdjustedSizes.width;\n minCanvasHeight = _getAdjustedSizes.height;\n canvasData.minWidth = minCanvasWidth;\n canvasData.minHeight = minCanvasHeight;\n canvasData.maxWidth = Infinity;\n canvasData.maxHeight = Infinity;\n }\n\n if (positionLimited) {\n if (viewMode > (cropped ? 0 : 1)) {\n var newCanvasLeft = containerData.width - canvasData.width;\n var newCanvasTop = containerData.height - canvasData.height;\n canvasData.minLeft = Math.min(0, newCanvasLeft);\n canvasData.minTop = Math.min(0, newCanvasTop);\n canvasData.maxLeft = Math.max(0, newCanvasLeft);\n canvasData.maxTop = Math.max(0, newCanvasTop);\n\n if (cropped && this.limited) {\n canvasData.minLeft = Math.min(cropBoxData.left, cropBoxData.left + (cropBoxData.width - canvasData.width));\n canvasData.minTop = Math.min(cropBoxData.top, cropBoxData.top + (cropBoxData.height - canvasData.height));\n canvasData.maxLeft = cropBoxData.left;\n canvasData.maxTop = cropBoxData.top;\n\n if (viewMode === 2) {\n if (canvasData.width >= containerData.width) {\n canvasData.minLeft = Math.min(0, newCanvasLeft);\n canvasData.maxLeft = Math.max(0, newCanvasLeft);\n }\n\n if (canvasData.height >= containerData.height) {\n canvasData.minTop = Math.min(0, newCanvasTop);\n canvasData.maxTop = Math.max(0, newCanvasTop);\n }\n }\n }\n } else {\n canvasData.minLeft = -canvasData.width;\n canvasData.minTop = -canvasData.height;\n canvasData.maxLeft = containerData.width;\n canvasData.maxTop = containerData.height;\n }\n }\n },\n renderCanvas: function renderCanvas(changed, transformed) {\n var canvasData = this.canvasData,\n imageData = this.imageData;\n\n if (transformed) {\n var _getRotatedSizes = getRotatedSizes({\n width: imageData.naturalWidth * Math.abs(imageData.scaleX || 1),\n height: imageData.naturalHeight * Math.abs(imageData.scaleY || 1),\n degree: imageData.rotate || 0\n }),\n naturalWidth = _getRotatedSizes.width,\n naturalHeight = _getRotatedSizes.height;\n\n var width = canvasData.width * (naturalWidth / canvasData.naturalWidth);\n var height = canvasData.height * (naturalHeight / canvasData.naturalHeight);\n canvasData.left -= (width - canvasData.width) / 2;\n canvasData.top -= (height - canvasData.height) / 2;\n canvasData.width = width;\n canvasData.height = height;\n canvasData.aspectRatio = naturalWidth / naturalHeight;\n canvasData.naturalWidth = naturalWidth;\n canvasData.naturalHeight = naturalHeight;\n this.limitCanvas(true, false);\n }\n\n if (canvasData.width > canvasData.maxWidth || canvasData.width < canvasData.minWidth) {\n canvasData.left = canvasData.oldLeft;\n }\n\n if (canvasData.height > canvasData.maxHeight || canvasData.height < canvasData.minHeight) {\n canvasData.top = canvasData.oldTop;\n }\n\n canvasData.width = Math.min(Math.max(canvasData.width, canvasData.minWidth), canvasData.maxWidth);\n canvasData.height = Math.min(Math.max(canvasData.height, canvasData.minHeight), canvasData.maxHeight);\n this.limitCanvas(false, true);\n canvasData.left = Math.min(Math.max(canvasData.left, canvasData.minLeft), canvasData.maxLeft);\n canvasData.top = Math.min(Math.max(canvasData.top, canvasData.minTop), canvasData.maxTop);\n canvasData.oldLeft = canvasData.left;\n canvasData.oldTop = canvasData.top;\n setStyle(this.canvas, assign({\n width: canvasData.width,\n height: canvasData.height\n }, getTransforms({\n translateX: canvasData.left,\n translateY: canvasData.top\n })));\n this.renderImage(changed);\n\n if (this.cropped && this.limited) {\n this.limitCropBox(true, true);\n }\n },\n renderImage: function renderImage(changed) {\n var canvasData = this.canvasData,\n imageData = this.imageData;\n var width = imageData.naturalWidth * (canvasData.width / canvasData.naturalWidth);\n var height = imageData.naturalHeight * (canvasData.height / canvasData.naturalHeight);\n assign(imageData, {\n width: width,\n height: height,\n left: (canvasData.width - width) / 2,\n top: (canvasData.height - height) / 2\n });\n setStyle(this.image, assign({\n width: imageData.width,\n height: imageData.height\n }, getTransforms(assign({\n translateX: imageData.left,\n translateY: imageData.top\n }, imageData))));\n\n if (changed) {\n this.output();\n }\n },\n initCropBox: function initCropBox() {\n var options = this.options,\n canvasData = this.canvasData;\n var aspectRatio = options.aspectRatio || options.initialAspectRatio;\n var autoCropArea = Number(options.autoCropArea) || 0.8;\n var cropBoxData = {\n width: canvasData.width,\n height: canvasData.height\n };\n\n if (aspectRatio) {\n if (canvasData.height * aspectRatio > canvasData.width) {\n cropBoxData.height = cropBoxData.width / aspectRatio;\n } else {\n cropBoxData.width = cropBoxData.height * aspectRatio;\n }\n }\n\n this.cropBoxData = cropBoxData;\n this.limitCropBox(true, true); // Initialize auto crop area\n\n cropBoxData.width = Math.min(Math.max(cropBoxData.width, cropBoxData.minWidth), cropBoxData.maxWidth);\n cropBoxData.height = Math.min(Math.max(cropBoxData.height, cropBoxData.minHeight), cropBoxData.maxHeight); // The width/height of auto crop area must large than \"minWidth/Height\"\n\n cropBoxData.width = Math.max(cropBoxData.minWidth, cropBoxData.width * autoCropArea);\n cropBoxData.height = Math.max(cropBoxData.minHeight, cropBoxData.height * autoCropArea);\n cropBoxData.left = canvasData.left + (canvasData.width - cropBoxData.width) / 2;\n cropBoxData.top = canvasData.top + (canvasData.height - cropBoxData.height) / 2;\n cropBoxData.oldLeft = cropBoxData.left;\n cropBoxData.oldTop = cropBoxData.top;\n this.initialCropBoxData = assign({}, cropBoxData);\n },\n limitCropBox: function limitCropBox(sizeLimited, positionLimited) {\n var options = this.options,\n containerData = this.containerData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData,\n limited = this.limited;\n var aspectRatio = options.aspectRatio;\n\n if (sizeLimited) {\n var minCropBoxWidth = Number(options.minCropBoxWidth) || 0;\n var minCropBoxHeight = Number(options.minCropBoxHeight) || 0;\n var maxCropBoxWidth = limited ? Math.min(containerData.width, canvasData.width, canvasData.width + canvasData.left, containerData.width - canvasData.left) : containerData.width;\n var maxCropBoxHeight = limited ? Math.min(containerData.height, canvasData.height, canvasData.height + canvasData.top, containerData.height - canvasData.top) : containerData.height; // The min/maxCropBoxWidth/Height must be less than container's width/height\n\n minCropBoxWidth = Math.min(minCropBoxWidth, containerData.width);\n minCropBoxHeight = Math.min(minCropBoxHeight, containerData.height);\n\n if (aspectRatio) {\n if (minCropBoxWidth && minCropBoxHeight) {\n if (minCropBoxHeight * aspectRatio > minCropBoxWidth) {\n minCropBoxHeight = minCropBoxWidth / aspectRatio;\n } else {\n minCropBoxWidth = minCropBoxHeight * aspectRatio;\n }\n } else if (minCropBoxWidth) {\n minCropBoxHeight = minCropBoxWidth / aspectRatio;\n } else if (minCropBoxHeight) {\n minCropBoxWidth = minCropBoxHeight * aspectRatio;\n }\n\n if (maxCropBoxHeight * aspectRatio > maxCropBoxWidth) {\n maxCropBoxHeight = maxCropBoxWidth / aspectRatio;\n } else {\n maxCropBoxWidth = maxCropBoxHeight * aspectRatio;\n }\n } // The minWidth/Height must be less than maxWidth/Height\n\n\n cropBoxData.minWidth = Math.min(minCropBoxWidth, maxCropBoxWidth);\n cropBoxData.minHeight = Math.min(minCropBoxHeight, maxCropBoxHeight);\n cropBoxData.maxWidth = maxCropBoxWidth;\n cropBoxData.maxHeight = maxCropBoxHeight;\n }\n\n if (positionLimited) {\n if (limited) {\n cropBoxData.minLeft = Math.max(0, canvasData.left);\n cropBoxData.minTop = Math.max(0, canvasData.top);\n cropBoxData.maxLeft = Math.min(containerData.width, canvasData.left + canvasData.width) - cropBoxData.width;\n cropBoxData.maxTop = Math.min(containerData.height, canvasData.top + canvasData.height) - cropBoxData.height;\n } else {\n cropBoxData.minLeft = 0;\n cropBoxData.minTop = 0;\n cropBoxData.maxLeft = containerData.width - cropBoxData.width;\n cropBoxData.maxTop = containerData.height - cropBoxData.height;\n }\n }\n },\n renderCropBox: function renderCropBox() {\n var options = this.options,\n containerData = this.containerData,\n cropBoxData = this.cropBoxData;\n\n if (cropBoxData.width > cropBoxData.maxWidth || cropBoxData.width < cropBoxData.minWidth) {\n cropBoxData.left = cropBoxData.oldLeft;\n }\n\n if (cropBoxData.height > cropBoxData.maxHeight || cropBoxData.height < cropBoxData.minHeight) {\n cropBoxData.top = cropBoxData.oldTop;\n }\n\n cropBoxData.width = Math.min(Math.max(cropBoxData.width, cropBoxData.minWidth), cropBoxData.maxWidth);\n cropBoxData.height = Math.min(Math.max(cropBoxData.height, cropBoxData.minHeight), cropBoxData.maxHeight);\n this.limitCropBox(false, true);\n cropBoxData.left = Math.min(Math.max(cropBoxData.left, cropBoxData.minLeft), cropBoxData.maxLeft);\n cropBoxData.top = Math.min(Math.max(cropBoxData.top, cropBoxData.minTop), cropBoxData.maxTop);\n cropBoxData.oldLeft = cropBoxData.left;\n cropBoxData.oldTop = cropBoxData.top;\n\n if (options.movable && options.cropBoxMovable) {\n // Turn to move the canvas when the crop box is equal to the container\n setData(this.face, DATA_ACTION, cropBoxData.width >= containerData.width && cropBoxData.height >= containerData.height ? ACTION_MOVE : ACTION_ALL);\n }\n\n setStyle(this.cropBox, assign({\n width: cropBoxData.width,\n height: cropBoxData.height\n }, getTransforms({\n translateX: cropBoxData.left,\n translateY: cropBoxData.top\n })));\n\n if (this.cropped && this.limited) {\n this.limitCanvas(true, true);\n }\n\n if (!this.disabled) {\n this.output();\n }\n },\n output: function output() {\n this.preview();\n dispatchEvent(this.element, EVENT_CROP, this.getData());\n }\n};\n\nvar preview = {\n initPreview: function initPreview() {\n var crossOrigin = this.crossOrigin;\n var preview = this.options.preview;\n var url = crossOrigin ? this.crossOriginUrl : this.url;\n var image = document.createElement('img');\n\n if (crossOrigin) {\n image.crossOrigin = crossOrigin;\n }\n\n image.src = url;\n this.viewBox.appendChild(image);\n this.viewBoxImage = image;\n\n if (!preview) {\n return;\n }\n\n var previews = preview;\n\n if (typeof preview === 'string') {\n previews = this.element.ownerDocument.querySelectorAll(preview);\n } else if (preview.querySelector) {\n previews = [preview];\n }\n\n this.previews = previews;\n forEach(previews, function (el) {\n var img = document.createElement('img'); // Save the original size for recover\n\n setData(el, DATA_PREVIEW, {\n width: el.offsetWidth,\n height: el.offsetHeight,\n html: el.innerHTML\n });\n\n if (crossOrigin) {\n img.crossOrigin = crossOrigin;\n }\n\n img.src = url;\n /**\n * Override img element styles\n * Add `display:block` to avoid margin top issue\n * Add `height:auto` to override `height` attribute on IE8\n * (Occur only when margin-top <= -height)\n */\n\n img.style.cssText = 'display:block;' + 'width:100%;' + 'height:auto;' + 'min-width:0!important;' + 'min-height:0!important;' + 'max-width:none!important;' + 'max-height:none!important;' + 'image-orientation:0deg!important;\"';\n el.innerHTML = '';\n el.appendChild(img);\n });\n },\n resetPreview: function resetPreview() {\n forEach(this.previews, function (element) {\n var data = getData(element, DATA_PREVIEW);\n setStyle(element, {\n width: data.width,\n height: data.height\n });\n element.innerHTML = data.html;\n removeData(element, DATA_PREVIEW);\n });\n },\n preview: function preview() {\n var imageData = this.imageData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var cropBoxWidth = cropBoxData.width,\n cropBoxHeight = cropBoxData.height;\n var width = imageData.width,\n height = imageData.height;\n var left = cropBoxData.left - canvasData.left - imageData.left;\n var top = cropBoxData.top - canvasData.top - imageData.top;\n\n if (!this.cropped || this.disabled) {\n return;\n }\n\n setStyle(this.viewBoxImage, assign({\n width: width,\n height: height\n }, getTransforms(assign({\n translateX: -left,\n translateY: -top\n }, imageData))));\n forEach(this.previews, function (element) {\n var data = getData(element, DATA_PREVIEW);\n var originalWidth = data.width;\n var originalHeight = data.height;\n var newWidth = originalWidth;\n var newHeight = originalHeight;\n var ratio = 1;\n\n if (cropBoxWidth) {\n ratio = originalWidth / cropBoxWidth;\n newHeight = cropBoxHeight * ratio;\n }\n\n if (cropBoxHeight && newHeight > originalHeight) {\n ratio = originalHeight / cropBoxHeight;\n newWidth = cropBoxWidth * ratio;\n newHeight = originalHeight;\n }\n\n setStyle(element, {\n width: newWidth,\n height: newHeight\n });\n setStyle(element.getElementsByTagName('img')[0], assign({\n width: width * ratio,\n height: height * ratio\n }, getTransforms(assign({\n translateX: -left * ratio,\n translateY: -top * ratio\n }, imageData))));\n });\n }\n};\n\nvar events = {\n bind: function bind() {\n var element = this.element,\n options = this.options,\n cropper = this.cropper;\n\n if (isFunction(options.cropstart)) {\n addListener(element, EVENT_CROP_START, options.cropstart);\n }\n\n if (isFunction(options.cropmove)) {\n addListener(element, EVENT_CROP_MOVE, options.cropmove);\n }\n\n if (isFunction(options.cropend)) {\n addListener(element, EVENT_CROP_END, options.cropend);\n }\n\n if (isFunction(options.crop)) {\n addListener(element, EVENT_CROP, options.crop);\n }\n\n if (isFunction(options.zoom)) {\n addListener(element, EVENT_ZOOM, options.zoom);\n }\n\n addListener(cropper, EVENT_POINTER_DOWN, this.onCropStart = this.cropStart.bind(this));\n\n if (options.zoomable && options.zoomOnWheel) {\n addListener(cropper, EVENT_WHEEL, this.onWheel = this.wheel.bind(this));\n }\n\n if (options.toggleDragModeOnDblclick) {\n addListener(cropper, EVENT_DBLCLICK, this.onDblclick = this.dblclick.bind(this));\n }\n\n addListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onCropMove = this.cropMove.bind(this));\n addListener(element.ownerDocument, EVENT_POINTER_UP, this.onCropEnd = this.cropEnd.bind(this));\n\n if (options.responsive) {\n addListener(window, EVENT_RESIZE, this.onResize = this.resize.bind(this));\n }\n },\n unbind: function unbind() {\n var element = this.element,\n options = this.options,\n cropper = this.cropper;\n\n if (isFunction(options.cropstart)) {\n removeListener(element, EVENT_CROP_START, options.cropstart);\n }\n\n if (isFunction(options.cropmove)) {\n removeListener(element, EVENT_CROP_MOVE, options.cropmove);\n }\n\n if (isFunction(options.cropend)) {\n removeListener(element, EVENT_CROP_END, options.cropend);\n }\n\n if (isFunction(options.crop)) {\n removeListener(element, EVENT_CROP, options.crop);\n }\n\n if (isFunction(options.zoom)) {\n removeListener(element, EVENT_ZOOM, options.zoom);\n }\n\n removeListener(cropper, EVENT_POINTER_DOWN, this.onCropStart);\n\n if (options.zoomable && options.zoomOnWheel) {\n removeListener(cropper, EVENT_WHEEL, this.onWheel);\n }\n\n if (options.toggleDragModeOnDblclick) {\n removeListener(cropper, EVENT_DBLCLICK, this.onDblclick);\n }\n\n removeListener(element.ownerDocument, EVENT_POINTER_MOVE, this.onCropMove);\n removeListener(element.ownerDocument, EVENT_POINTER_UP, this.onCropEnd);\n\n if (options.responsive) {\n removeListener(window, EVENT_RESIZE, this.onResize);\n }\n }\n};\n\nvar handlers = {\n resize: function resize() {\n var options = this.options,\n container = this.container,\n containerData = this.containerData;\n var minContainerWidth = Number(options.minContainerWidth) || 200;\n var minContainerHeight = Number(options.minContainerHeight) || 100;\n\n if (this.disabled || containerData.width <= minContainerWidth || containerData.height <= minContainerHeight) {\n return;\n }\n\n var ratio = container.offsetWidth / containerData.width; // Resize when width changed or height changed\n\n if (ratio !== 1 || container.offsetHeight !== containerData.height) {\n var canvasData;\n var cropBoxData;\n\n if (options.restore) {\n canvasData = this.getCanvasData();\n cropBoxData = this.getCropBoxData();\n }\n\n this.render();\n\n if (options.restore) {\n this.setCanvasData(forEach(canvasData, function (n, i) {\n canvasData[i] = n * ratio;\n }));\n this.setCropBoxData(forEach(cropBoxData, function (n, i) {\n cropBoxData[i] = n * ratio;\n }));\n }\n }\n },\n dblclick: function dblclick() {\n if (this.disabled || this.options.dragMode === DRAG_MODE_NONE) {\n return;\n }\n\n this.setDragMode(hasClass(this.dragBox, CLASS_CROP) ? DRAG_MODE_MOVE : DRAG_MODE_CROP);\n },\n wheel: function wheel(e) {\n var _this = this;\n\n var ratio = Number(this.options.wheelZoomRatio) || 0.1;\n var delta = 1;\n\n if (this.disabled) {\n return;\n }\n\n e.preventDefault(); // Limit wheel speed to prevent zoom too fast (#21)\n\n if (this.wheeling) {\n return;\n }\n\n this.wheeling = true;\n setTimeout(function () {\n _this.wheeling = false;\n }, 50);\n\n if (e.deltaY) {\n delta = e.deltaY > 0 ? 1 : -1;\n } else if (e.wheelDelta) {\n delta = -e.wheelDelta / 120;\n } else if (e.detail) {\n delta = e.detail > 0 ? 1 : -1;\n }\n\n this.zoom(-delta * ratio, e);\n },\n cropStart: function cropStart(e) {\n if (this.disabled) {\n return;\n }\n\n var options = this.options,\n pointers = this.pointers;\n var action;\n\n if (e.changedTouches) {\n // Handle touch event\n forEach(e.changedTouches, function (touch) {\n pointers[touch.identifier] = getPointer(touch);\n });\n } else {\n // Handle mouse event and pointer event\n pointers[e.pointerId || 0] = getPointer(e);\n }\n\n if (Object.keys(pointers).length > 1 && options.zoomable && options.zoomOnTouch) {\n action = ACTION_ZOOM;\n } else {\n action = getData(e.target, DATA_ACTION);\n }\n\n if (!REGEXP_ACTIONS.test(action)) {\n return;\n }\n\n if (dispatchEvent(this.element, EVENT_CROP_START, {\n originalEvent: e,\n action: action\n }) === false) {\n return;\n } // This line is required for preventing page zooming in iOS browsers\n\n\n e.preventDefault();\n this.action = action;\n this.cropping = false;\n\n if (action === ACTION_CROP) {\n this.cropping = true;\n addClass(this.dragBox, CLASS_MODAL);\n }\n },\n cropMove: function cropMove(e) {\n var action = this.action;\n\n if (this.disabled || !action) {\n return;\n }\n\n var pointers = this.pointers;\n e.preventDefault();\n\n if (dispatchEvent(this.element, EVENT_CROP_MOVE, {\n originalEvent: e,\n action: action\n }) === false) {\n return;\n }\n\n if (e.changedTouches) {\n forEach(e.changedTouches, function (touch) {\n // The first parameter should not be undefined (#432)\n assign(pointers[touch.identifier] || {}, getPointer(touch, true));\n });\n } else {\n assign(pointers[e.pointerId || 0] || {}, getPointer(e, true));\n }\n\n this.change(e);\n },\n cropEnd: function cropEnd(e) {\n if (this.disabled) {\n return;\n }\n\n var action = this.action,\n pointers = this.pointers;\n\n if (e.changedTouches) {\n forEach(e.changedTouches, function (touch) {\n delete pointers[touch.identifier];\n });\n } else {\n delete pointers[e.pointerId || 0];\n }\n\n if (!action) {\n return;\n }\n\n e.preventDefault();\n\n if (!Object.keys(pointers).length) {\n this.action = '';\n }\n\n if (this.cropping) {\n this.cropping = false;\n toggleClass(this.dragBox, CLASS_MODAL, this.cropped && this.options.modal);\n }\n\n dispatchEvent(this.element, EVENT_CROP_END, {\n originalEvent: e,\n action: action\n });\n }\n};\n\nvar change = {\n change: function change(e) {\n var options = this.options,\n canvasData = this.canvasData,\n containerData = this.containerData,\n cropBoxData = this.cropBoxData,\n pointers = this.pointers;\n var action = this.action;\n var aspectRatio = options.aspectRatio;\n var left = cropBoxData.left,\n top = cropBoxData.top,\n width = cropBoxData.width,\n height = cropBoxData.height;\n var right = left + width;\n var bottom = top + height;\n var minLeft = 0;\n var minTop = 0;\n var maxWidth = containerData.width;\n var maxHeight = containerData.height;\n var renderable = true;\n var offset; // Locking aspect ratio in \"free mode\" by holding shift key\n\n if (!aspectRatio && e.shiftKey) {\n aspectRatio = width && height ? width / height : 1;\n }\n\n if (this.limited) {\n minLeft = cropBoxData.minLeft;\n minTop = cropBoxData.minTop;\n maxWidth = minLeft + Math.min(containerData.width, canvasData.width, canvasData.left + canvasData.width);\n maxHeight = minTop + Math.min(containerData.height, canvasData.height, canvasData.top + canvasData.height);\n }\n\n var pointer = pointers[Object.keys(pointers)[0]];\n var range = {\n x: pointer.endX - pointer.startX,\n y: pointer.endY - pointer.startY\n };\n\n var check = function check(side) {\n switch (side) {\n case ACTION_EAST:\n if (right + range.x > maxWidth) {\n range.x = maxWidth - right;\n }\n\n break;\n\n case ACTION_WEST:\n if (left + range.x < minLeft) {\n range.x = minLeft - left;\n }\n\n break;\n\n case ACTION_NORTH:\n if (top + range.y < minTop) {\n range.y = minTop - top;\n }\n\n break;\n\n case ACTION_SOUTH:\n if (bottom + range.y > maxHeight) {\n range.y = maxHeight - bottom;\n }\n\n break;\n\n default:\n }\n };\n\n switch (action) {\n // Move crop box\n case ACTION_ALL:\n left += range.x;\n top += range.y;\n break;\n // Resize crop box\n\n case ACTION_EAST:\n if (range.x >= 0 && (right >= maxWidth || aspectRatio && (top <= minTop || bottom >= maxHeight))) {\n renderable = false;\n break;\n }\n\n check(ACTION_EAST);\n width += range.x;\n\n if (width < 0) {\n action = ACTION_WEST;\n width = -width;\n left -= width;\n }\n\n if (aspectRatio) {\n height = width / aspectRatio;\n top += (cropBoxData.height - height) / 2;\n }\n\n break;\n\n case ACTION_NORTH:\n if (range.y <= 0 && (top <= minTop || aspectRatio && (left <= minLeft || right >= maxWidth))) {\n renderable = false;\n break;\n }\n\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n\n if (height < 0) {\n action = ACTION_SOUTH;\n height = -height;\n top -= height;\n }\n\n if (aspectRatio) {\n width = height * aspectRatio;\n left += (cropBoxData.width - width) / 2;\n }\n\n break;\n\n case ACTION_WEST:\n if (range.x <= 0 && (left <= minLeft || aspectRatio && (top <= minTop || bottom >= maxHeight))) {\n renderable = false;\n break;\n }\n\n check(ACTION_WEST);\n width -= range.x;\n left += range.x;\n\n if (width < 0) {\n action = ACTION_EAST;\n width = -width;\n left -= width;\n }\n\n if (aspectRatio) {\n height = width / aspectRatio;\n top += (cropBoxData.height - height) / 2;\n }\n\n break;\n\n case ACTION_SOUTH:\n if (range.y >= 0 && (bottom >= maxHeight || aspectRatio && (left <= minLeft || right >= maxWidth))) {\n renderable = false;\n break;\n }\n\n check(ACTION_SOUTH);\n height += range.y;\n\n if (height < 0) {\n action = ACTION_NORTH;\n height = -height;\n top -= height;\n }\n\n if (aspectRatio) {\n width = height * aspectRatio;\n left += (cropBoxData.width - width) / 2;\n }\n\n break;\n\n case ACTION_NORTH_EAST:\n if (aspectRatio) {\n if (range.y <= 0 && (top <= minTop || right >= maxWidth)) {\n renderable = false;\n break;\n }\n\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n width = height * aspectRatio;\n } else {\n check(ACTION_NORTH);\n check(ACTION_EAST);\n\n if (range.x >= 0) {\n if (right < maxWidth) {\n width += range.x;\n } else if (range.y <= 0 && top <= minTop) {\n renderable = false;\n }\n } else {\n width += range.x;\n }\n\n if (range.y <= 0) {\n if (top > minTop) {\n height -= range.y;\n top += range.y;\n }\n } else {\n height -= range.y;\n top += range.y;\n }\n }\n\n if (width < 0 && height < 0) {\n action = ACTION_SOUTH_WEST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_NORTH_WEST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_SOUTH_EAST;\n height = -height;\n top -= height;\n }\n\n break;\n\n case ACTION_NORTH_WEST:\n if (aspectRatio) {\n if (range.y <= 0 && (top <= minTop || left <= minLeft)) {\n renderable = false;\n break;\n }\n\n check(ACTION_NORTH);\n height -= range.y;\n top += range.y;\n width = height * aspectRatio;\n left += cropBoxData.width - width;\n } else {\n check(ACTION_NORTH);\n check(ACTION_WEST);\n\n if (range.x <= 0) {\n if (left > minLeft) {\n width -= range.x;\n left += range.x;\n } else if (range.y <= 0 && top <= minTop) {\n renderable = false;\n }\n } else {\n width -= range.x;\n left += range.x;\n }\n\n if (range.y <= 0) {\n if (top > minTop) {\n height -= range.y;\n top += range.y;\n }\n } else {\n height -= range.y;\n top += range.y;\n }\n }\n\n if (width < 0 && height < 0) {\n action = ACTION_SOUTH_EAST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_NORTH_EAST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_SOUTH_WEST;\n height = -height;\n top -= height;\n }\n\n break;\n\n case ACTION_SOUTH_WEST:\n if (aspectRatio) {\n if (range.x <= 0 && (left <= minLeft || bottom >= maxHeight)) {\n renderable = false;\n break;\n }\n\n check(ACTION_WEST);\n width -= range.x;\n left += range.x;\n height = width / aspectRatio;\n } else {\n check(ACTION_SOUTH);\n check(ACTION_WEST);\n\n if (range.x <= 0) {\n if (left > minLeft) {\n width -= range.x;\n left += range.x;\n } else if (range.y >= 0 && bottom >= maxHeight) {\n renderable = false;\n }\n } else {\n width -= range.x;\n left += range.x;\n }\n\n if (range.y >= 0) {\n if (bottom < maxHeight) {\n height += range.y;\n }\n } else {\n height += range.y;\n }\n }\n\n if (width < 0 && height < 0) {\n action = ACTION_NORTH_EAST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_SOUTH_EAST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_NORTH_WEST;\n height = -height;\n top -= height;\n }\n\n break;\n\n case ACTION_SOUTH_EAST:\n if (aspectRatio) {\n if (range.x >= 0 && (right >= maxWidth || bottom >= maxHeight)) {\n renderable = false;\n break;\n }\n\n check(ACTION_EAST);\n width += range.x;\n height = width / aspectRatio;\n } else {\n check(ACTION_SOUTH);\n check(ACTION_EAST);\n\n if (range.x >= 0) {\n if (right < maxWidth) {\n width += range.x;\n } else if (range.y >= 0 && bottom >= maxHeight) {\n renderable = false;\n }\n } else {\n width += range.x;\n }\n\n if (range.y >= 0) {\n if (bottom < maxHeight) {\n height += range.y;\n }\n } else {\n height += range.y;\n }\n }\n\n if (width < 0 && height < 0) {\n action = ACTION_NORTH_WEST;\n height = -height;\n width = -width;\n top -= height;\n left -= width;\n } else if (width < 0) {\n action = ACTION_SOUTH_WEST;\n width = -width;\n left -= width;\n } else if (height < 0) {\n action = ACTION_NORTH_EAST;\n height = -height;\n top -= height;\n }\n\n break;\n // Move canvas\n\n case ACTION_MOVE:\n this.move(range.x, range.y);\n renderable = false;\n break;\n // Zoom canvas\n\n case ACTION_ZOOM:\n this.zoom(getMaxZoomRatio(pointers), e);\n renderable = false;\n break;\n // Create crop box\n\n case ACTION_CROP:\n if (!range.x || !range.y) {\n renderable = false;\n break;\n }\n\n offset = getOffset(this.cropper);\n left = pointer.startX - offset.left;\n top = pointer.startY - offset.top;\n width = cropBoxData.minWidth;\n height = cropBoxData.minHeight;\n\n if (range.x > 0) {\n action = range.y > 0 ? ACTION_SOUTH_EAST : ACTION_NORTH_EAST;\n } else if (range.x < 0) {\n left -= width;\n action = range.y > 0 ? ACTION_SOUTH_WEST : ACTION_NORTH_WEST;\n }\n\n if (range.y < 0) {\n top -= height;\n } // Show the crop box if is hidden\n\n\n if (!this.cropped) {\n removeClass(this.cropBox, CLASS_HIDDEN);\n this.cropped = true;\n\n if (this.limited) {\n this.limitCropBox(true, true);\n }\n }\n\n break;\n\n default:\n }\n\n if (renderable) {\n cropBoxData.width = width;\n cropBoxData.height = height;\n cropBoxData.left = left;\n cropBoxData.top = top;\n this.action = action;\n this.renderCropBox();\n } // Override\n\n\n forEach(pointers, function (p) {\n p.startX = p.endX;\n p.startY = p.endY;\n });\n }\n};\n\nvar methods = {\n // Show the crop box manually\n crop: function crop() {\n if (this.ready && !this.cropped && !this.disabled) {\n this.cropped = true;\n this.limitCropBox(true, true);\n\n if (this.options.modal) {\n addClass(this.dragBox, CLASS_MODAL);\n }\n\n removeClass(this.cropBox, CLASS_HIDDEN);\n this.setCropBoxData(this.initialCropBoxData);\n }\n\n return this;\n },\n // Reset the image and crop box to their initial states\n reset: function reset() {\n if (this.ready && !this.disabled) {\n this.imageData = assign({}, this.initialImageData);\n this.canvasData = assign({}, this.initialCanvasData);\n this.cropBoxData = assign({}, this.initialCropBoxData);\n this.renderCanvas();\n\n if (this.cropped) {\n this.renderCropBox();\n }\n }\n\n return this;\n },\n // Clear the crop box\n clear: function clear() {\n if (this.cropped && !this.disabled) {\n assign(this.cropBoxData, {\n left: 0,\n top: 0,\n width: 0,\n height: 0\n });\n this.cropped = false;\n this.renderCropBox();\n this.limitCanvas(true, true); // Render canvas after crop box rendered\n\n this.renderCanvas();\n removeClass(this.dragBox, CLASS_MODAL);\n addClass(this.cropBox, CLASS_HIDDEN);\n }\n\n return this;\n },\n\n /**\n * Replace the image's src and rebuild the cropper\n * @param {string} url - The new URL.\n * @param {boolean} [hasSameSize] - Indicate if the new image has the same size as the old one.\n * @returns {Cropper} this\n */\n replace: function replace(url) {\n var hasSameSize = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!this.disabled && url) {\n if (this.isImg) {\n this.element.src = url;\n }\n\n if (hasSameSize) {\n this.url = url;\n this.image.src = url;\n\n if (this.ready) {\n this.viewBoxImage.src = url;\n forEach(this.previews, function (element) {\n element.getElementsByTagName('img')[0].src = url;\n });\n }\n } else {\n if (this.isImg) {\n this.replaced = true;\n }\n\n this.options.data = null;\n this.uncreate();\n this.load(url);\n }\n }\n\n return this;\n },\n // Enable (unfreeze) the cropper\n enable: function enable() {\n if (this.ready && this.disabled) {\n this.disabled = false;\n removeClass(this.cropper, CLASS_DISABLED);\n }\n\n return this;\n },\n // Disable (freeze) the cropper\n disable: function disable() {\n if (this.ready && !this.disabled) {\n this.disabled = true;\n addClass(this.cropper, CLASS_DISABLED);\n }\n\n return this;\n },\n\n /**\n * Destroy the cropper and remove the instance from the image\n * @returns {Cropper} this\n */\n destroy: function destroy() {\n var element = this.element;\n\n if (!element[NAMESPACE]) {\n return this;\n }\n\n element[NAMESPACE] = undefined;\n\n if (this.isImg && this.replaced) {\n element.src = this.originalUrl;\n }\n\n this.uncreate();\n return this;\n },\n\n /**\n * Move the canvas with relative offsets\n * @param {number} offsetX - The relative offset distance on the x-axis.\n * @param {number} [offsetY=offsetX] - The relative offset distance on the y-axis.\n * @returns {Cropper} this\n */\n move: function move(offsetX) {\n var offsetY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : offsetX;\n var _this$canvasData = this.canvasData,\n left = _this$canvasData.left,\n top = _this$canvasData.top;\n return this.moveTo(isUndefined(offsetX) ? offsetX : left + Number(offsetX), isUndefined(offsetY) ? offsetY : top + Number(offsetY));\n },\n\n /**\n * Move the canvas to an absolute point\n * @param {number} x - The x-axis coordinate.\n * @param {number} [y=x] - The y-axis coordinate.\n * @returns {Cropper} this\n */\n moveTo: function moveTo(x) {\n var y = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : x;\n var canvasData = this.canvasData;\n var changed = false;\n x = Number(x);\n y = Number(y);\n\n if (this.ready && !this.disabled && this.options.movable) {\n if (isNumber(x)) {\n canvasData.left = x;\n changed = true;\n }\n\n if (isNumber(y)) {\n canvasData.top = y;\n changed = true;\n }\n\n if (changed) {\n this.renderCanvas(true);\n }\n }\n\n return this;\n },\n\n /**\n * Zoom the canvas with a relative ratio\n * @param {number} ratio - The target ratio.\n * @param {Event} _originalEvent - The original event if any.\n * @returns {Cropper} this\n */\n zoom: function zoom(ratio, _originalEvent) {\n var canvasData = this.canvasData;\n ratio = Number(ratio);\n\n if (ratio < 0) {\n ratio = 1 / (1 - ratio);\n } else {\n ratio = 1 + ratio;\n }\n\n return this.zoomTo(canvasData.width * ratio / canvasData.naturalWidth, null, _originalEvent);\n },\n\n /**\n * Zoom the canvas to an absolute ratio\n * @param {number} ratio - The target ratio.\n * @param {Object} pivot - The zoom pivot point coordinate.\n * @param {Event} _originalEvent - The original event if any.\n * @returns {Cropper} this\n */\n zoomTo: function zoomTo(ratio, pivot, _originalEvent) {\n var options = this.options,\n canvasData = this.canvasData;\n var width = canvasData.width,\n height = canvasData.height,\n naturalWidth = canvasData.naturalWidth,\n naturalHeight = canvasData.naturalHeight;\n ratio = Number(ratio);\n\n if (ratio >= 0 && this.ready && !this.disabled && options.zoomable) {\n var newWidth = naturalWidth * ratio;\n var newHeight = naturalHeight * ratio;\n\n if (dispatchEvent(this.element, EVENT_ZOOM, {\n ratio: ratio,\n oldRatio: width / naturalWidth,\n originalEvent: _originalEvent\n }) === false) {\n return this;\n }\n\n if (_originalEvent) {\n var pointers = this.pointers;\n var offset = getOffset(this.cropper);\n var center = pointers && Object.keys(pointers).length ? getPointersCenter(pointers) : {\n pageX: _originalEvent.pageX,\n pageY: _originalEvent.pageY\n }; // Zoom from the triggering point of the event\n\n canvasData.left -= (newWidth - width) * ((center.pageX - offset.left - canvasData.left) / width);\n canvasData.top -= (newHeight - height) * ((center.pageY - offset.top - canvasData.top) / height);\n } else if (isPlainObject(pivot) && isNumber(pivot.x) && isNumber(pivot.y)) {\n canvasData.left -= (newWidth - width) * ((pivot.x - canvasData.left) / width);\n canvasData.top -= (newHeight - height) * ((pivot.y - canvasData.top) / height);\n } else {\n // Zoom from the center of the canvas\n canvasData.left -= (newWidth - width) / 2;\n canvasData.top -= (newHeight - height) / 2;\n }\n\n canvasData.width = newWidth;\n canvasData.height = newHeight;\n this.renderCanvas(true);\n }\n\n return this;\n },\n\n /**\n * Rotate the canvas with a relative degree\n * @param {number} degree - The rotate degree.\n * @returns {Cropper} this\n */\n rotate: function rotate(degree) {\n return this.rotateTo((this.imageData.rotate || 0) + Number(degree));\n },\n\n /**\n * Rotate the canvas to an absolute degree\n * @param {number} degree - The rotate degree.\n * @returns {Cropper} this\n */\n rotateTo: function rotateTo(degree) {\n degree = Number(degree);\n\n if (isNumber(degree) && this.ready && !this.disabled && this.options.rotatable) {\n this.imageData.rotate = degree % 360;\n this.renderCanvas(true, true);\n }\n\n return this;\n },\n\n /**\n * Scale the image on the x-axis.\n * @param {number} scaleX - The scale ratio on the x-axis.\n * @returns {Cropper} this\n */\n scaleX: function scaleX(_scaleX) {\n var scaleY = this.imageData.scaleY;\n return this.scale(_scaleX, isNumber(scaleY) ? scaleY : 1);\n },\n\n /**\n * Scale the image on the y-axis.\n * @param {number} scaleY - The scale ratio on the y-axis.\n * @returns {Cropper} this\n */\n scaleY: function scaleY(_scaleY) {\n var scaleX = this.imageData.scaleX;\n return this.scale(isNumber(scaleX) ? scaleX : 1, _scaleY);\n },\n\n /**\n * Scale the image\n * @param {number} scaleX - The scale ratio on the x-axis.\n * @param {number} [scaleY=scaleX] - The scale ratio on the y-axis.\n * @returns {Cropper} this\n */\n scale: function scale(scaleX) {\n var scaleY = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : scaleX;\n var imageData = this.imageData;\n var transformed = false;\n scaleX = Number(scaleX);\n scaleY = Number(scaleY);\n\n if (this.ready && !this.disabled && this.options.scalable) {\n if (isNumber(scaleX)) {\n imageData.scaleX = scaleX;\n transformed = true;\n }\n\n if (isNumber(scaleY)) {\n imageData.scaleY = scaleY;\n transformed = true;\n }\n\n if (transformed) {\n this.renderCanvas(true, true);\n }\n }\n\n return this;\n },\n\n /**\n * Get the cropped area position and size data (base on the original image)\n * @param {boolean} [rounded=false] - Indicate if round the data values or not.\n * @returns {Object} The result cropped data.\n */\n getData: function getData$$1() {\n var rounded = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var options = this.options,\n imageData = this.imageData,\n canvasData = this.canvasData,\n cropBoxData = this.cropBoxData;\n var data;\n\n if (this.ready && this.cropped) {\n data = {\n x: cropBoxData.left - canvasData.left,\n y: cropBoxData.top - canvasData.top,\n width: cropBoxData.width,\n height: cropBoxData.height\n };\n var ratio = imageData.width / imageData.naturalWidth;\n forEach(data, function (n, i) {\n data[i] = n / ratio;\n });\n\n if (rounded) {\n // In case rounding off leads to extra 1px in right or bottom border\n // we should round the top-left corner and the dimension (#343).\n var bottom = Math.round(data.y + data.height);\n var right = Math.round(data.x + data.width);\n data.x = Math.round(data.x);\n data.y = Math.round(data.y);\n data.width = right - data.x;\n data.height = bottom - data.y;\n }\n } else {\n data = {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n };\n }\n\n if (options.rotatable) {\n data.rotate = imageData.rotate || 0;\n }\n\n if (options.scalable) {\n data.scaleX = imageData.scaleX || 1;\n data.scaleY = imageData.scaleY || 1;\n }\n\n return data;\n },\n\n /**\n * Set the cropped area position and size with new data\n * @param {Object} data - The new data.\n * @returns {Cropper} this\n */\n setData: function setData$$1(data) {\n var options = this.options,\n imageData = this.imageData,\n canvasData = this.canvasData;\n var cropBoxData = {};\n\n if (this.ready && !this.disabled && isPlainObject(data)) {\n var transformed = false;\n\n if (options.rotatable) {\n if (isNumber(data.rotate) && data.rotate !== imageData.rotate) {\n imageData.rotate = data.rotate;\n transformed = true;\n }\n }\n\n if (options.scalable) {\n if (isNumber(data.scaleX) && data.scaleX !== imageData.scaleX) {\n imageData.scaleX = data.scaleX;\n transformed = true;\n }\n\n if (isNumber(data.scaleY) && data.scaleY !== imageData.scaleY) {\n imageData.scaleY = data.scaleY;\n transformed = true;\n }\n }\n\n if (transformed) {\n this.renderCanvas(true, true);\n }\n\n var ratio = imageData.width / imageData.naturalWidth;\n\n if (isNumber(data.x)) {\n cropBoxData.left = data.x * ratio + canvasData.left;\n }\n\n if (isNumber(data.y)) {\n cropBoxData.top = data.y * ratio + canvasData.top;\n }\n\n if (isNumber(data.width)) {\n cropBoxData.width = data.width * ratio;\n }\n\n if (isNumber(data.height)) {\n cropBoxData.height = data.height * ratio;\n }\n\n this.setCropBoxData(cropBoxData);\n }\n\n return this;\n },\n\n /**\n * Get the container size data.\n * @returns {Object} The result container data.\n */\n getContainerData: function getContainerData() {\n return this.ready ? assign({}, this.containerData) : {};\n },\n\n /**\n * Get the image position and size data.\n * @returns {Object} The result image data.\n */\n getImageData: function getImageData() {\n return this.sized ? assign({}, this.imageData) : {};\n },\n\n /**\n * Get the canvas position and size data.\n * @returns {Object} The result canvas data.\n */\n getCanvasData: function getCanvasData() {\n var canvasData = this.canvasData;\n var data = {};\n\n if (this.ready) {\n forEach(['left', 'top', 'width', 'height', 'naturalWidth', 'naturalHeight'], function (n) {\n data[n] = canvasData[n];\n });\n }\n\n return data;\n },\n\n /**\n * Set the canvas position and size with new data.\n * @param {Object} data - The new canvas data.\n * @returns {Cropper} this\n */\n setCanvasData: function setCanvasData(data) {\n var canvasData = this.canvasData;\n var aspectRatio = canvasData.aspectRatio;\n\n if (this.ready && !this.disabled && isPlainObject(data)) {\n if (isNumber(data.left)) {\n canvasData.left = data.left;\n }\n\n if (isNumber(data.top)) {\n canvasData.top = data.top;\n }\n\n if (isNumber(data.width)) {\n canvasData.width = data.width;\n canvasData.height = data.width / aspectRatio;\n } else if (isNumber(data.height)) {\n canvasData.height = data.height;\n canvasData.width = data.height * aspectRatio;\n }\n\n this.renderCanvas(true);\n }\n\n return this;\n },\n\n /**\n * Get the crop box position and size data.\n * @returns {Object} The result crop box data.\n */\n getCropBoxData: function getCropBoxData() {\n var cropBoxData = this.cropBoxData;\n var data;\n\n if (this.ready && this.cropped) {\n data = {\n left: cropBoxData.left,\n top: cropBoxData.top,\n width: cropBoxData.width,\n height: cropBoxData.height\n };\n }\n\n return data || {};\n },\n\n /**\n * Set the crop box position and size with new data.\n * @param {Object} data - The new crop box data.\n * @returns {Cropper} this\n */\n setCropBoxData: function setCropBoxData(data) {\n var cropBoxData = this.cropBoxData;\n var aspectRatio = this.options.aspectRatio;\n var widthChanged;\n var heightChanged;\n\n if (this.ready && this.cropped && !this.disabled && isPlainObject(data)) {\n if (isNumber(data.left)) {\n cropBoxData.left = data.left;\n }\n\n if (isNumber(data.top)) {\n cropBoxData.top = data.top;\n }\n\n if (isNumber(data.width) && data.width !== cropBoxData.width) {\n widthChanged = true;\n cropBoxData.width = data.width;\n }\n\n if (isNumber(data.height) && data.height !== cropBoxData.height) {\n heightChanged = true;\n cropBoxData.height = data.height;\n }\n\n if (aspectRatio) {\n if (widthChanged) {\n cropBoxData.height = cropBoxData.width / aspectRatio;\n } else if (heightChanged) {\n cropBoxData.width = cropBoxData.height * aspectRatio;\n }\n }\n\n this.renderCropBox();\n }\n\n return this;\n },\n\n /**\n * Get a canvas drawn the cropped image.\n * @param {Object} [options={}] - The config options.\n * @returns {HTMLCanvasElement} - The result canvas.\n */\n getCroppedCanvas: function getCroppedCanvas() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n if (!this.ready || !window.HTMLCanvasElement) {\n return null;\n }\n\n var canvasData = this.canvasData;\n var source = getSourceCanvas(this.image, this.imageData, canvasData, options); // Returns the source canvas if it is not cropped.\n\n if (!this.cropped) {\n return source;\n }\n\n var _this$getData = this.getData(),\n initialX = _this$getData.x,\n initialY = _this$getData.y,\n initialWidth = _this$getData.width,\n initialHeight = _this$getData.height;\n\n var ratio = source.width / Math.floor(canvasData.naturalWidth);\n\n if (ratio !== 1) {\n initialX *= ratio;\n initialY *= ratio;\n initialWidth *= ratio;\n initialHeight *= ratio;\n }\n\n var aspectRatio = initialWidth / initialHeight;\n var maxSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.maxWidth || Infinity,\n height: options.maxHeight || Infinity\n });\n var minSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.minWidth || 0,\n height: options.minHeight || 0\n }, 'cover');\n\n var _getAdjustedSizes = getAdjustedSizes({\n aspectRatio: aspectRatio,\n width: options.width || (ratio !== 1 ? source.width : initialWidth),\n height: options.height || (ratio !== 1 ? source.height : initialHeight)\n }),\n width = _getAdjustedSizes.width,\n height = _getAdjustedSizes.height;\n\n width = Math.min(maxSizes.width, Math.max(minSizes.width, width));\n height = Math.min(maxSizes.height, Math.max(minSizes.height, height));\n var canvas = document.createElement('canvas');\n var context = canvas.getContext('2d');\n canvas.width = normalizeDecimalNumber(width);\n canvas.height = normalizeDecimalNumber(height);\n context.fillStyle = options.fillColor || 'transparent';\n context.fillRect(0, 0, width, height);\n var _options$imageSmoothi = options.imageSmoothingEnabled,\n imageSmoothingEnabled = _options$imageSmoothi === void 0 ? true : _options$imageSmoothi,\n imageSmoothingQuality = options.imageSmoothingQuality;\n context.imageSmoothingEnabled = imageSmoothingEnabled;\n\n if (imageSmoothingQuality) {\n context.imageSmoothingQuality = imageSmoothingQuality;\n } // https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D.drawImage\n\n\n var sourceWidth = source.width;\n var sourceHeight = source.height; // Source canvas parameters\n\n var srcX = initialX;\n var srcY = initialY;\n var srcWidth;\n var srcHeight; // Destination canvas parameters\n\n var dstX;\n var dstY;\n var dstWidth;\n var dstHeight;\n\n if (srcX <= -initialWidth || srcX > sourceWidth) {\n srcX = 0;\n srcWidth = 0;\n dstX = 0;\n dstWidth = 0;\n } else if (srcX <= 0) {\n dstX = -srcX;\n srcX = 0;\n srcWidth = Math.min(sourceWidth, initialWidth + srcX);\n dstWidth = srcWidth;\n } else if (srcX <= sourceWidth) {\n dstX = 0;\n srcWidth = Math.min(initialWidth, sourceWidth - srcX);\n dstWidth = srcWidth;\n }\n\n if (srcWidth <= 0 || srcY <= -initialHeight || srcY > sourceHeight) {\n srcY = 0;\n srcHeight = 0;\n dstY = 0;\n dstHeight = 0;\n } else if (srcY <= 0) {\n dstY = -srcY;\n srcY = 0;\n srcHeight = Math.min(sourceHeight, initialHeight + srcY);\n dstHeight = srcHeight;\n } else if (srcY <= sourceHeight) {\n dstY = 0;\n srcHeight = Math.min(initialHeight, sourceHeight - srcY);\n dstHeight = srcHeight;\n }\n\n var params = [srcX, srcY, srcWidth, srcHeight]; // Avoid \"IndexSizeError\"\n\n if (dstWidth > 0 && dstHeight > 0) {\n var scale = width / initialWidth;\n params.push(dstX * scale, dstY * scale, dstWidth * scale, dstHeight * scale);\n } // All the numerical parameters should be integer for `drawImage`\n // https://github.com/fengyuanchen/cropper/issues/476\n\n\n context.drawImage.apply(context, [source].concat(_toConsumableArray(params.map(function (param) {\n return Math.floor(normalizeDecimalNumber(param));\n }))));\n return canvas;\n },\n\n /**\n * Change the aspect ratio of the crop box.\n * @param {number} aspectRatio - The new aspect ratio.\n * @returns {Cropper} this\n */\n setAspectRatio: function setAspectRatio(aspectRatio) {\n var options = this.options;\n\n if (!this.disabled && !isUndefined(aspectRatio)) {\n // 0 -> NaN\n options.aspectRatio = Math.max(0, aspectRatio) || NaN;\n\n if (this.ready) {\n this.initCropBox();\n\n if (this.cropped) {\n this.renderCropBox();\n }\n }\n }\n\n return this;\n },\n\n /**\n * Change the drag mode.\n * @param {string} mode - The new drag mode.\n * @returns {Cropper} this\n */\n setDragMode: function setDragMode(mode) {\n var options = this.options,\n dragBox = this.dragBox,\n face = this.face;\n\n if (this.ready && !this.disabled) {\n var croppable = mode === DRAG_MODE_CROP;\n var movable = options.movable && mode === DRAG_MODE_MOVE;\n mode = croppable || movable ? mode : DRAG_MODE_NONE;\n options.dragMode = mode;\n setData(dragBox, DATA_ACTION, mode);\n toggleClass(dragBox, CLASS_CROP, croppable);\n toggleClass(dragBox, CLASS_MOVE, movable);\n\n if (!options.cropBoxMovable) {\n // Sync drag mode to crop box when it is not movable\n setData(face, DATA_ACTION, mode);\n toggleClass(face, CLASS_CROP, croppable);\n toggleClass(face, CLASS_MOVE, movable);\n }\n }\n\n return this;\n }\n};\n\nvar AnotherCropper = WINDOW.Cropper;\n\nvar Cropper =\n/*#__PURE__*/\nfunction () {\n /**\n * Create a new Cropper.\n * @param {Element} element - The target element for cropping.\n * @param {Object} [options={}] - The configuration options.\n */\n function Cropper(element) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Cropper);\n\n if (!element || !REGEXP_TAG_NAME.test(element.tagName)) {\n throw new Error('The first argument is required and must be an or element.');\n }\n\n this.element = element;\n this.options = assign({}, DEFAULTS, isPlainObject(options) && options);\n this.cropped = false;\n this.disabled = false;\n this.pointers = {};\n this.ready = false;\n this.reloading = false;\n this.replaced = false;\n this.sized = false;\n this.sizing = false;\n this.init();\n }\n\n _createClass(Cropper, [{\n key: \"init\",\n value: function init() {\n var element = this.element;\n var tagName = element.tagName.toLowerCase();\n var url;\n\n if (element[NAMESPACE]) {\n return;\n }\n\n element[NAMESPACE] = this;\n\n if (tagName === 'img') {\n this.isImg = true; // e.g.: \"img/picture.jpg\"\n\n url = element.getAttribute('src') || '';\n this.originalUrl = url; // Stop when it's a blank image\n\n if (!url) {\n return;\n } // e.g.: \"http://example.com/img/picture.jpg\"\n\n\n url = element.src;\n } else if (tagName === 'canvas' && window.HTMLCanvasElement) {\n url = element.toDataURL();\n }\n\n this.load(url);\n }\n }, {\n key: \"load\",\n value: function load(url) {\n var _this = this;\n\n if (!url) {\n return;\n }\n\n this.url = url;\n this.imageData = {};\n var element = this.element,\n options = this.options;\n\n if (!options.rotatable && !options.scalable) {\n options.checkOrientation = false;\n } // Only IE10+ supports Typed Arrays\n\n\n if (!options.checkOrientation || !window.ArrayBuffer) {\n this.clone();\n return;\n } // XMLHttpRequest disallows to open a Data URL in some browsers like IE11 and Safari\n\n\n if (REGEXP_DATA_URL.test(url)) {\n if (REGEXP_DATA_URL_JPEG.test(url)) {\n this.read(dataURLToArrayBuffer(url));\n } else {\n this.clone();\n }\n\n return;\n }\n\n var xhr = new XMLHttpRequest();\n var clone = this.clone.bind(this);\n this.reloading = true;\n this.xhr = xhr;\n xhr.ontimeout = clone;\n xhr.onabort = clone;\n xhr.onerror = clone;\n\n xhr.onprogress = function () {\n if (xhr.getResponseHeader('content-type') !== MIME_TYPE_JPEG) {\n xhr.abort();\n }\n };\n\n xhr.onload = function () {\n _this.read(xhr.response);\n };\n\n xhr.onloadend = function () {\n _this.reloading = false;\n _this.xhr = null;\n }; // Bust cache when there is a \"crossOrigin\" property to avoid browser cache error\n\n\n if (options.checkCrossOrigin && isCrossOriginURL(url) && element.crossOrigin) {\n url = addTimestamp(url);\n }\n\n xhr.open('GET', url);\n xhr.responseType = 'arraybuffer';\n xhr.withCredentials = element.crossOrigin === 'use-credentials';\n xhr.send();\n }\n }, {\n key: \"read\",\n value: function read(arrayBuffer) {\n var options = this.options,\n imageData = this.imageData;\n var orientation = resetAndGetOrientation(arrayBuffer);\n var rotate = 0;\n var scaleX = 1;\n var scaleY = 1;\n\n if (orientation > 1) {\n // Generate a new Data URL with the orientation value set to 1\n // as some iOS browsers will render image with its orientation\n this.url = arrayBufferToDataURL(arrayBuffer, MIME_TYPE_JPEG);\n\n var _parseOrientation = parseOrientation(orientation);\n\n rotate = _parseOrientation.rotate;\n scaleX = _parseOrientation.scaleX;\n scaleY = _parseOrientation.scaleY;\n }\n\n if (options.rotatable) {\n imageData.rotate = rotate;\n }\n\n if (options.scalable) {\n imageData.scaleX = scaleX;\n imageData.scaleY = scaleY;\n }\n\n this.clone();\n }\n }, {\n key: \"clone\",\n value: function clone() {\n var element = this.element,\n url = this.url;\n var crossOrigin;\n var crossOriginUrl;\n\n if (this.options.checkCrossOrigin && isCrossOriginURL(url)) {\n crossOrigin = element.crossOrigin;\n\n if (crossOrigin) {\n crossOriginUrl = url;\n } else {\n crossOrigin = 'anonymous'; // Bust cache when there is not a \"crossOrigin\" property\n\n crossOriginUrl = addTimestamp(url);\n }\n }\n\n this.crossOrigin = crossOrigin;\n this.crossOriginUrl = crossOriginUrl;\n var image = document.createElement('img');\n\n if (crossOrigin) {\n image.crossOrigin = crossOrigin;\n }\n\n image.src = crossOriginUrl || url;\n this.image = image;\n image.onload = this.start.bind(this);\n image.onerror = this.stop.bind(this);\n addClass(image, CLASS_HIDE);\n element.parentNode.insertBefore(image, element.nextSibling);\n }\n }, {\n key: \"start\",\n value: function start() {\n var _this2 = this;\n\n var image = this.isImg ? this.element : this.image;\n image.onload = null;\n image.onerror = null;\n this.sizing = true;\n var IS_SAFARI = WINDOW.navigator && /(Macintosh|iPhone|iPod|iPad).*AppleWebKit/i.test(WINDOW.navigator.userAgent);\n\n var done = function done(naturalWidth, naturalHeight) {\n assign(_this2.imageData, {\n naturalWidth: naturalWidth,\n naturalHeight: naturalHeight,\n aspectRatio: naturalWidth / naturalHeight\n });\n _this2.sizing = false;\n _this2.sized = true;\n\n _this2.build();\n }; // Modern browsers (except Safari)\n\n\n if (image.naturalWidth && !IS_SAFARI) {\n done(image.naturalWidth, image.naturalHeight);\n return;\n }\n\n var sizingImage = document.createElement('img');\n var body = document.body || document.documentElement;\n this.sizingImage = sizingImage;\n\n sizingImage.onload = function () {\n done(sizingImage.width, sizingImage.height);\n\n if (!IS_SAFARI) {\n body.removeChild(sizingImage);\n }\n };\n\n sizingImage.src = image.src; // iOS Safari will convert the image automatically\n // with its orientation once append it into DOM (#279)\n\n if (!IS_SAFARI) {\n sizingImage.style.cssText = 'left:0;' + 'max-height:none!important;' + 'max-width:none!important;' + 'min-height:0!important;' + 'min-width:0!important;' + 'opacity:0;' + 'position:absolute;' + 'top:0;' + 'z-index:-1;';\n body.appendChild(sizingImage);\n }\n }\n }, {\n key: \"stop\",\n value: function stop() {\n var image = this.image;\n image.onload = null;\n image.onerror = null;\n image.parentNode.removeChild(image);\n this.image = null;\n }\n }, {\n key: \"build\",\n value: function build() {\n if (!this.sized || this.ready) {\n return;\n }\n\n var element = this.element,\n options = this.options,\n image = this.image; // Create cropper elements\n\n var container = element.parentNode;\n var template = document.createElement('div');\n template.innerHTML = TEMPLATE;\n var cropper = template.querySelector(\".\".concat(NAMESPACE, \"-container\"));\n var canvas = cropper.querySelector(\".\".concat(NAMESPACE, \"-canvas\"));\n var dragBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-drag-box\"));\n var cropBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-crop-box\"));\n var face = cropBox.querySelector(\".\".concat(NAMESPACE, \"-face\"));\n this.container = container;\n this.cropper = cropper;\n this.canvas = canvas;\n this.dragBox = dragBox;\n this.cropBox = cropBox;\n this.viewBox = cropper.querySelector(\".\".concat(NAMESPACE, \"-view-box\"));\n this.face = face;\n canvas.appendChild(image); // Hide the original image\n\n addClass(element, CLASS_HIDDEN); // Inserts the cropper after to the current image\n\n container.insertBefore(cropper, element.nextSibling); // Show the image if is hidden\n\n if (!this.isImg) {\n removeClass(image, CLASS_HIDE);\n }\n\n this.initPreview();\n this.bind();\n options.initialAspectRatio = Math.max(0, options.initialAspectRatio) || NaN;\n options.aspectRatio = Math.max(0, options.aspectRatio) || NaN;\n options.viewMode = Math.max(0, Math.min(3, Math.round(options.viewMode))) || 0;\n addClass(cropBox, CLASS_HIDDEN);\n\n if (!options.guides) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-dashed\")), CLASS_HIDDEN);\n }\n\n if (!options.center) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-center\")), CLASS_HIDDEN);\n }\n\n if (options.background) {\n addClass(cropper, \"\".concat(NAMESPACE, \"-bg\"));\n }\n\n if (!options.highlight) {\n addClass(face, CLASS_INVISIBLE);\n }\n\n if (options.cropBoxMovable) {\n addClass(face, CLASS_MOVE);\n setData(face, DATA_ACTION, ACTION_ALL);\n }\n\n if (!options.cropBoxResizable) {\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-line\")), CLASS_HIDDEN);\n addClass(cropBox.getElementsByClassName(\"\".concat(NAMESPACE, \"-point\")), CLASS_HIDDEN);\n }\n\n this.render();\n this.ready = true;\n this.setDragMode(options.dragMode);\n\n if (options.autoCrop) {\n this.crop();\n }\n\n this.setData(options.data);\n\n if (isFunction(options.ready)) {\n addListener(element, EVENT_READY, options.ready, {\n once: true\n });\n }\n\n dispatchEvent(element, EVENT_READY);\n }\n }, {\n key: \"unbuild\",\n value: function unbuild() {\n if (!this.ready) {\n return;\n }\n\n this.ready = false;\n this.unbind();\n this.resetPreview();\n this.cropper.parentNode.removeChild(this.cropper);\n removeClass(this.element, CLASS_HIDDEN);\n }\n }, {\n key: \"uncreate\",\n value: function uncreate() {\n if (this.ready) {\n this.unbuild();\n this.ready = false;\n this.cropped = false;\n } else if (this.sizing) {\n this.sizingImage.onload = null;\n this.sizing = false;\n this.sized = false;\n } else if (this.reloading) {\n this.xhr.onabort = null;\n this.xhr.abort();\n } else if (this.image) {\n this.stop();\n }\n }\n /**\n * Get the no conflict cropper class.\n * @returns {Cropper} The cropper class.\n */\n\n }], [{\n key: \"noConflict\",\n value: function noConflict() {\n window.Cropper = AnotherCropper;\n return Cropper;\n }\n /**\n * Change the default options.\n * @param {Object} options - The new default options.\n */\n\n }, {\n key: \"setDefaults\",\n value: function setDefaults(options) {\n assign(DEFAULTS, isPlainObject(options) && options);\n }\n }]);\n\n return Cropper;\n}();\n\nassign(Cropper.prototype, render, preview, events, handlers, change, methods);\n\nexport default Cropper;\n","const LANGUAGES_LIST = {\n aa: {\n name: 'Afar',\n nativeName: 'Afaraf',\n },\n ab: {\n name: 'Abkhaz',\n nativeName: 'аҧсуа бызшәа',\n },\n ae: {\n name: 'Avestan',\n nativeName: 'avesta',\n },\n af: {\n name: 'Afrikaans',\n nativeName: 'Afrikaans',\n },\n ak: {\n name: 'Akan',\n nativeName: 'Akan',\n },\n am: {\n name: 'Amharic',\n nativeName: 'አማርኛ',\n },\n an: {\n name: 'Aragonese',\n nativeName: 'aragonés',\n },\n ar: {\n name: 'Arabic',\n nativeName: 'اللغة العربية',\n },\n as: {\n name: 'Assamese',\n nativeName: 'অসমীয়া',\n },\n av: {\n name: 'Avaric',\n nativeName: 'авар мацӀ',\n },\n ay: {\n name: 'Aymara',\n nativeName: 'aymar aru',\n },\n az: {\n name: 'Azerbaijani',\n nativeName: 'azərbaycan dili',\n },\n ba: {\n name: 'Bashkir',\n nativeName: 'башҡорт теле',\n },\n be: {\n name: 'Belarusian',\n nativeName: 'беларуская мова',\n },\n bg: {\n name: 'Bulgarian',\n nativeName: 'български език',\n },\n bh: {\n name: 'Bihari',\n nativeName: 'भोजपुरी',\n },\n bi: {\n name: 'Bislama',\n nativeName: 'Bislama',\n },\n bm: {\n name: 'Bambara',\n nativeName: 'bamanankan',\n },\n bn: {\n name: 'Bengali',\n nativeName: 'বাংলা',\n },\n bo: {\n name: 'Tibetan Standard',\n nativeName: 'བོད་ཡིག',\n },\n br: {\n name: 'Breton',\n nativeName: 'brezhoneg',\n },\n bs: {\n name: 'Bosnian',\n nativeName: 'bosanski jezik',\n },\n ca: {\n name: 'Catalan',\n nativeName: 'català',\n },\n ce: {\n name: 'Chechen',\n nativeName: 'нохчийн мотт',\n },\n ch: {\n name: 'Chamorro',\n nativeName: 'Chamoru',\n },\n co: {\n name: 'Corsican',\n nativeName: 'corsu',\n },\n cr: {\n name: 'Cree',\n nativeName: 'ᓀᐦᐃᔭᐍᐏᐣ',\n },\n cs: {\n name: 'Czech',\n nativeName: 'čeština',\n },\n cu: {\n name: 'Old Church Slavonic',\n nativeName: 'ѩзыкъ словѣньскъ',\n },\n cv: {\n name: 'Chuvash',\n nativeName: 'чӑваш чӗлхи',\n },\n cy: {\n name: 'Welsh',\n nativeName: 'Cymraeg',\n },\n da: {\n name: 'Danish',\n nativeName: 'dansk',\n },\n de: {\n name: 'German',\n nativeName: 'Deutsch',\n },\n dv: {\n name: 'Divehi',\n nativeName: 'Dhivehi',\n },\n dz: {\n name: 'Dzongkha',\n nativeName: 'རྫོང་ཁ',\n },\n ee: {\n name: 'Ewe',\n nativeName: 'Eʋegbe',\n },\n el: {\n name: 'Greek',\n nativeName: 'ελληνικά',\n },\n en: {\n name: 'English',\n nativeName: 'English',\n },\n eo: {\n name: 'Esperanto',\n nativeName: 'Esperanto',\n },\n es: {\n name: 'Spanish',\n nativeName: 'Español',\n },\n et: {\n name: 'Estonian',\n nativeName: 'eesti',\n },\n eu: {\n name: 'Basque',\n nativeName: 'euskara',\n },\n fa: {\n name: 'Persian',\n nativeName: 'فارسی',\n },\n ff: {\n name: 'Fula',\n nativeName: 'Fulfulde',\n },\n fi: {\n name: 'Finnish',\n nativeName: 'suomi',\n },\n fj: {\n name: 'Fijian',\n nativeName: 'Vakaviti',\n },\n fo: {\n name: 'Faroese',\n nativeName: 'føroyskt',\n },\n fr: {\n name: 'French',\n nativeName: 'Français',\n },\n fy: {\n name: 'Western Frisian',\n nativeName: 'Frysk',\n },\n ga: {\n name: 'Irish',\n nativeName: 'Gaeilge',\n },\n gd: {\n name: 'Scottish Gaelic',\n nativeName: 'Gàidhlig',\n },\n gl: {\n name: 'Galician',\n nativeName: 'galego',\n },\n gn: {\n name: 'Guaraní',\n nativeName: \"Avañe'ẽ\",\n },\n gu: {\n name: 'Gujarati',\n nativeName: 'ગુજરાતી',\n },\n gv: {\n name: 'Manx',\n nativeName: 'Gaelg',\n },\n ha: {\n name: 'Hausa',\n nativeName: 'هَوُسَ',\n },\n he: {\n name: 'Hebrew',\n nativeName: 'עברית',\n },\n hi: {\n name: 'Hindi',\n nativeName: 'हिन्दी',\n },\n ho: {\n name: 'Hiri Motu',\n nativeName: 'Hiri Motu',\n },\n hr: {\n name: 'Croatian',\n nativeName: 'hrvatski jezik',\n },\n ht: {\n name: 'Haitian',\n nativeName: 'Kreyòl ayisyen',\n },\n hu: {\n name: 'Hungarian',\n nativeName: 'magyar',\n },\n hy: {\n name: 'Armenian',\n nativeName: 'Հայերեն',\n },\n hz: {\n name: 'Herero',\n nativeName: 'Otjiherero',\n },\n ia: {\n name: 'Interlingua',\n nativeName: 'Interlingua',\n },\n id: {\n name: 'Indonesian',\n nativeName: 'Indonesian',\n },\n ie: {\n name: 'Interlingue',\n nativeName: 'Interlingue',\n },\n ig: {\n name: 'Igbo',\n nativeName: 'Asụsụ Igbo',\n },\n ii: {\n name: 'Nuosu',\n nativeName: 'ꆈꌠ꒿ Nuosuhxop',\n },\n ik: {\n name: 'Inupiaq',\n nativeName: 'Iñupiaq',\n },\n io: {\n name: 'Ido',\n nativeName: 'Ido',\n },\n is: {\n name: 'Icelandic',\n nativeName: 'Íslenska',\n },\n it: {\n name: 'Italian',\n nativeName: 'Italiano',\n },\n iu: {\n name: 'Inuktitut',\n nativeName: 'ᐃᓄᒃᑎᑐᑦ',\n },\n ja: {\n name: 'Japanese',\n nativeName: '日本語',\n },\n jv: {\n name: 'Javanese',\n nativeName: 'basa Jawa',\n },\n ka: {\n name: 'Georgian',\n nativeName: 'ქართული',\n },\n kg: {\n name: 'Kongo',\n nativeName: 'Kikongo',\n },\n ki: {\n name: 'Kikuyu',\n nativeName: 'Gĩkũyũ',\n },\n kj: {\n name: 'Kwanyama',\n nativeName: 'Kuanyama',\n },\n kk: {\n name: 'Kazakh',\n nativeName: 'қазақ тілі',\n },\n kl: {\n name: 'Kalaallisut',\n nativeName: 'kalaallisut',\n },\n km: {\n name: 'Khmer',\n nativeName: 'ខេមរភាសា',\n },\n kn: {\n name: 'Kannada',\n nativeName: 'ಕನ್ನಡ',\n },\n ko: {\n name: 'Korean',\n nativeName: '한국어',\n },\n kr: {\n name: 'Kanuri',\n nativeName: 'Kanuri',\n },\n ks: {\n name: 'Kashmiri',\n nativeName: 'कश्मीरी',\n },\n ku: {\n name: 'Kurdish',\n nativeName: 'Kurdî',\n },\n kv: {\n name: 'Komi',\n nativeName: 'коми кыв',\n },\n kw: {\n name: 'Cornish',\n nativeName: 'Kernewek',\n },\n ky: {\n name: 'Kyrgyz',\n nativeName: 'Кыргызча',\n },\n la: {\n name: 'Latin',\n nativeName: 'latine',\n },\n lb: {\n name: 'Luxembourgish',\n nativeName: 'Lëtzebuergesch',\n },\n lg: {\n name: 'Ganda',\n nativeName: 'Luganda',\n },\n li: {\n name: 'Limburgish',\n nativeName: 'Limburgs',\n },\n ln: {\n name: 'Lingala',\n nativeName: 'Lingála',\n },\n lo: {\n name: 'Lao',\n nativeName: 'ພາສາ',\n },\n lt: {\n name: 'Lithuanian',\n nativeName: 'lietuvių kalba',\n },\n lu: {\n name: 'Luba-Katanga',\n nativeName: 'Tshiluba',\n },\n lv: {\n name: 'Latvian',\n nativeName: 'latviešu valoda',\n },\n mg: {\n name: 'Malagasy',\n nativeName: 'fiteny malagasy',\n },\n mh: {\n name: 'Marshallese',\n nativeName: 'Kajin M̧ajeļ',\n },\n mi: {\n name: 'Māori',\n nativeName: 'te reo Māori',\n },\n mk: {\n name: 'Macedonian',\n nativeName: 'македонски јазик',\n },\n ml: {\n name: 'Malayalam',\n nativeName: 'മലയാളം',\n },\n mn: {\n name: 'Mongolian',\n nativeName: 'Монгол хэл',\n },\n mr: {\n name: 'Marathi',\n nativeName: 'मराठी',\n },\n ms: {\n name: 'Malay',\n nativeName: 'هاس ملايو‎',\n },\n mt: {\n name: 'Maltese',\n nativeName: 'Malti',\n },\n my: {\n name: 'Burmese',\n nativeName: 'ဗမာစာ',\n },\n na: {\n name: 'Nauru',\n nativeName: 'Ekakairũ Naoero',\n },\n nb: {\n name: 'Norwegian Bokmål',\n nativeName: 'Norsk bokmål',\n },\n nd: {\n name: 'Northern Ndebele',\n nativeName: 'isiNdebele',\n },\n ne: {\n name: 'Nepali',\n nativeName: 'नेपाली',\n },\n ng: {\n name: 'Ndonga',\n nativeName: 'Owambo',\n },\n nl: {\n name: 'Dutch',\n nativeName: 'Nederlands',\n },\n nn: {\n name: 'Norwegian Nynorsk',\n nativeName: 'Norsk nynorsk',\n },\n no: {\n name: 'Norwegian',\n nativeName: 'Norsk',\n },\n nr: {\n name: 'Southern Ndebele',\n nativeName: 'isiNdebele',\n },\n nv: {\n name: 'Navajo',\n nativeName: 'Diné bizaad',\n },\n ny: {\n name: 'Chichewa',\n nativeName: 'chiCheŵa',\n },\n oc: {\n name: 'Occitan',\n nativeName: 'occitan',\n },\n oj: {\n name: 'Ojibwe',\n nativeName: 'ᐊᓂᔑᓈᐯᒧᐎᓐ',\n },\n om: {\n name: 'Oromo',\n nativeName: 'Afaan Oromoo',\n },\n or: {\n name: 'Oriya',\n nativeName: 'ଓଡ଼ିଆ',\n },\n os: {\n name: 'Ossetian',\n nativeName: 'ирон æвзаг',\n },\n pa: {\n name: 'Panjabi',\n nativeName: 'ਪੰਜਾਬੀ',\n },\n pi: {\n name: 'Pāli',\n nativeName: 'पाऴि',\n },\n pl: {\n name: 'Polish',\n nativeName: 'język polski',\n },\n ps: {\n name: 'Pashto',\n nativeName: 'پښتو',\n },\n pt: {\n name: 'Portuguese',\n nativeName: 'Português',\n },\n qu: {\n name: 'Quechua',\n nativeName: 'Runa Simi',\n },\n rm: {\n name: 'Romansh',\n nativeName: 'rumantsch grischun',\n },\n rn: {\n name: 'Kirundi',\n nativeName: 'Ikirundi',\n },\n ro: {\n name: 'Romanian',\n nativeName: 'limba română',\n },\n ru: {\n name: 'Russian',\n nativeName: 'Русский',\n },\n rw: {\n name: 'Kinyarwanda',\n nativeName: 'Ikinyarwanda',\n },\n sa: {\n name: 'Sanskrit',\n nativeName: 'संस्कृतम्',\n },\n sc: {\n name: 'Sardinian',\n nativeName: 'sardu',\n },\n sd: {\n name: 'Sindhi',\n nativeName: 'सिन्धी',\n },\n se: {\n name: 'Northern Sami',\n nativeName: 'Davvisámegiella',\n },\n sg: {\n name: 'Sango',\n nativeName: 'yângâ tî sängö',\n },\n si: {\n name: 'Sinhala',\n nativeName: 'සිංහල',\n },\n sk: {\n name: 'Slovak',\n nativeName: 'slovenčina',\n },\n sl: {\n name: 'Slovene',\n nativeName: 'slovenski jezik',\n },\n sm: {\n name: 'Samoan',\n nativeName: \"gagana fa'a Samoa\",\n },\n sn: {\n name: 'Shona',\n nativeName: 'chiShona',\n },\n so: {\n name: 'Somali',\n nativeName: 'Soomaaliga',\n },\n sq: {\n name: 'Albanian',\n nativeName: 'Shqip',\n },\n sr: {\n name: 'Serbian',\n nativeName: 'српски језик',\n },\n ss: {\n name: 'Swati',\n nativeName: 'SiSwati',\n },\n st: {\n name: 'Southern Sotho',\n nativeName: 'Sesotho',\n },\n su: {\n name: 'Sundanese',\n nativeName: 'Basa Sunda',\n },\n sv: {\n name: 'Swedish',\n nativeName: 'svenska',\n },\n sw: {\n name: 'Swahili',\n nativeName: 'Kiswahili',\n },\n ta: {\n name: 'Tamil',\n nativeName: 'தமிழ்',\n },\n te: {\n name: 'Telugu',\n nativeName: 'తెలుగు',\n },\n tg: {\n name: 'Tajik',\n nativeName: 'тоҷикӣ',\n },\n th: {\n name: 'Thai',\n nativeName: 'ไทย',\n },\n ti: {\n name: 'Tigrinya',\n nativeName: 'ትግርኛ',\n },\n tk: {\n name: 'Turkmen',\n nativeName: 'Türkmen',\n },\n tl: {\n name: 'Tagalog',\n nativeName: 'Wikang Tagalog',\n },\n tn: {\n name: 'Tswana',\n nativeName: 'Setswana',\n },\n to: {\n name: 'Tonga',\n nativeName: 'faka Tonga',\n },\n tr: {\n name: 'Turkish',\n nativeName: 'Türkçe',\n },\n ts: {\n name: 'Tsonga',\n nativeName: 'Xitsonga',\n },\n tt: {\n name: 'Tatar',\n nativeName: 'татар теле',\n },\n tw: {\n name: 'Twi',\n nativeName: 'Twi',\n },\n ty: {\n name: 'Tahitian',\n nativeName: 'Reo Tahiti',\n },\n ug: {\n name: 'Uyghur',\n nativeName: 'ئۇيغۇرچە‎',\n },\n uk: {\n name: 'Ukrainian',\n nativeName: 'Українська',\n },\n ur: {\n name: 'Urdu',\n nativeName: 'اردو',\n },\n uz: {\n name: 'Uzbek',\n nativeName: 'Ўзбек',\n },\n ve: {\n name: 'Venda',\n nativeName: 'Tshivenḓa',\n },\n vi: {\n name: 'Vietnamese',\n nativeName: 'Tiếng Việt',\n },\n vo: {\n name: 'Volapük',\n nativeName: 'Volapük',\n },\n wa: {\n name: 'Walloon',\n nativeName: 'walon',\n },\n wo: {\n name: 'Wolof',\n nativeName: 'Wollof',\n },\n xh: {\n name: 'Xhosa',\n nativeName: 'isiXhosa',\n },\n yi: {\n name: 'Yiddish',\n nativeName: 'ייִדיש',\n },\n yo: {\n name: 'Yoruba',\n nativeName: 'Yorùbá',\n },\n za: {\n name: 'Zhuang',\n nativeName: 'Saɯ cueŋƅ',\n },\n zh: {\n name: 'Chinese',\n nativeName: '中文',\n },\n zu: {\n name: 'Zulu',\n nativeName: 'isiZulu',\n },\n};\n\nexport default LANGUAGES_LIST;\n","import LANGUAGES_LIST from './data';\n\nexport default class ISO6391 {\n static getLanguages(codes = []) {\n return codes.map(code => ({\n code,\n name: ISO6391.getName(code),\n nativeName: ISO6391.getNativeName(code),\n }));\n }\n\n static getName(code) {\n return ISO6391.validate(code) ? LANGUAGES_LIST[code].name : '';\n }\n\n static getAllNames() {\n return Object.values(LANGUAGES_LIST).map(l => l.name);\n }\n\n static getNativeName(code) {\n return ISO6391.validate(code) ? LANGUAGES_LIST[code].nativeName : '';\n }\n\n static getAllNativeNames() {\n return Object.values(LANGUAGES_LIST).map(l => l.nativeName);\n }\n\n static getCode(name) {\n const code = Object.keys(LANGUAGES_LIST).find(code => {\n const language = LANGUAGES_LIST[code];\n\n return (\n language.name.toLowerCase() === name.toLowerCase() ||\n language.nativeName.toLowerCase() === name.toLowerCase()\n );\n });\n return code || '';\n }\n\n static getAllCodes() {\n return Object.keys(LANGUAGES_LIST);\n }\n\n static validate(code) {\n return LANGUAGES_LIST[code] !== undefined;\n }\n}\n"],"sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/30.064c236fa83ac21c252f.js b/priv/static/static/js/30.064c236fa83ac21c252f.js new file mode 100644 index 000000000..40d81fbfd --- /dev/null +++ b/priv/static/static/js/30.064c236fa83ac21c252f.js @@ -0,0 +1,2 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{623:function(e){e.exports=JSON.parse('{"general":{"dismiss":"Закрити","close":"Закрити","verify":"Перевірити","confirm":"Підтвердити","enable":"Увімкнути","disable":"Вимкнути","cancel":"Скасувати","show_less":"Показати менше","show_more":"Показати більше","optional":"необов\'язково","retry":"Спробуйте ще раз","error_retry":"Будь ласка, спробуйте ще раз","generic_error":"Виникла помилка","loading":"Завантаження…","more":"Більше","submit":"Відправити","apply":"Застосувати","peek":"Глянути","role":{"moderator":"Модератор","admin":"Адміністратор"},"flash_content":"Натисніть для перегляду змісту Flash за допомогою Ruffle (експериментально, може не працювати).","flash_security":"Ця функція може становити ризик, оскільки Flash-вміст все ще є потенційно небезпечним.","flash_fail":"Не вдалося завантажити Flash-вміст, докладнішу інформацію дивись у консолі."},"finder":{"error_fetching_user":"Користувача не знайдено","find_user":"Знайти користувача"},"features_panel":{"gopher":"Gopher","pleroma_chat_messages":"Чати","chat":"Оголошення","who_to_follow":"Кого відстежувати","title":"Особливості","scope_options":"Параметри обсягу","media_proxy":"Посередник медіа-даних","text_limit":"Ліміт символів","upload_limit":"Обмеження завантажень"},"exporter":{"processing":"Опрацьовую, скоро ви зможете завантажити файл","export":"Експорт"},"domain_mute_card":{"unmute_progress":"Вмикаю…","unmute":"Вимкнути заглушення","mute_progress":"Вимикаю…","mute":"Ігнорувати"},"shoutbox":{"title":"Оголошення"},"about":{"staff":"Адміністрація","mrf":{"simple":{"media_nsfw_desc":"Даний інстанс примусово позначає медіа в наступних інстансах як дратівливий:","media_nsfw":"Примусове визначення медіа як дратівливого","media_removal_desc":"Поточний інстанс видаляє медіа з дописів на перелічених інстансах:","media_removal":"Видалення медіа","ftl_removal_desc":"Цей інстанс видаляє перелічені інстанси з Федеративної стрічки:","ftl_removal":"Видалення зі стрічки Федеративної мережі","quarantine_desc":"Поточний інстанс надсилатиме тільки публічні дописи наступним інстансам:","quarantine":"Карантин","reject_desc":"Поточний інстанс не прийматиме повідомлення з перелічених інстансів:","accept":"Прийняти","reject":"Відхилити","accept_desc":"Поточний інстанс приймає повідомлення тільки з перелічених інстансів:","simple_policies":"Правила поточного інстансу"},"mrf_policies_desc":"Правила MRF розповсюджуються на даний інстанс. Наступні правила активні:","mrf_policies":"Активувати правила MRF (модуль переписування повідомлень)","keyword":{"is_replaced_by":"→","replace":"Замінити","reject":"Відхилити","ftl_removal":"Прибрати з федеративної стрічки","keyword_policies":"Політика щодо ключових слів"},"federation":"Федерація"}},"login":{"hint":"Увійдіть, щоб доєднатися до дискусії","username":"Ім\'я користувача","register":"Зареєструватись","password":"Пароль","logout":"Вийти","description":"Увійти за допомогою OAuth","login":"Увійти","recovery_code":"Код відновлення","enter_recovery_code":"Введіть код відновлення","authentication_code":"Код автентифікації","heading":{"recovery":"Двофакторне відновлення","totp":"Двофакторна автентифікація"},"enter_two_factor_code":"Введіть двофакторний код автентифікації","placeholder":"напр. stepan"},"importer":{"error":"Під час імпортування файлу сталася помилка.","success":"Імпортовано успішно.","submit":"Відправити"},"image_cropper":{"cancel":"Відмінити","save_without_cropping":"Зберегти не обрізаючи","crop_picture":"Обрізати малюнок","save":"Зберегти"},"polls":{"expired":"Опитування закінчилось {0} тому","expires_in":"Опитування закінчується через {0}","expiry":"Термін опитування","multiple_choices":"Декілька варіантів","single_choice":"Один варіант","add_option":"Додати опцію","type":"Тип опитування","vote":"Проголосувати","votes":"голосів","option":"Відповідь","add_poll":"Додати опитування","not_enough_options":"Замало унікальних варіантів в опитуванні","people_voted_count":"{count} особа проголосувала | {count} осіб проголосувало","votes_count":"{count} голос | {count} голосів"},"notifications":{"reacted_with":"додав реакцію: {0}","migrated_to":"мігрував на","no_more_notifications":"Немає більше сповіщень","repeated_you":"поширив(-ла) ваш допис","read":"Прочитано!","notifications":"Сповіщення","load_older":"Завантажити давніші сповіщення","follow_request":"хоче підписатись на вас","followed_you":"підписався(-лась) на вас","favorited_you":"вподобав(-ла) ваш допис","broken_favorite":"Невідомий допис, шукаю його…","error":"Помилка при оновленні сповіщень: {0}"},"nav":{"chats":"Чати","timelines":"Стрічки","twkn":"Уся відома мережа","about":"Інформація","preferences":"Налаштування","friend_requests":"Запити послідовників","who_to_follow":"Кого відстежувати","search":"Пошук","user_search":"Пошук користувача","bookmarks":"Закладки","timeline":"Домашня стрічка","public_tl":"Публічна стрічка","dms":"Приватні повідомлення","interactions":"Взаємодії","mentions":"Згадування","back":"Назад","administration":"Адміністрування","home_timeline":"Домашня стрічка"},"media_modal":{"next":"Наступна","previous":"Попередня"},"password_reset":{"instruction":"Введіть свою адресу електронної пошти або ім’я користувача. Ми надішлемо вам посилання для скидання пароля.","placeholder":"Ваша електронна адреса або ім\'я користувача","check_email":"Перевірте електронну пошту на наявність посилання для скидання пароля.","return_home":"Повернутися на головну сторінку","too_many_requests":"Ви досягли ліміту спроб, спробуйте ще раз пізніше.","password_reset_required_but_mailer_is_disabled":"Ви повинні скинути свій пароль, але скидання пароля вимкнено. Зверніться до адміністратора інстансу.","password_reset_disabled":"Скидання пароля вимкнено. Зверніться до адміністратора інстансу.","password_reset_required":"Для входу потрібно скинути пароль.","password_reset":"Відновити пароль","forgot_password":"Забули пароль?"},"chats":{"you":"Ви:","message_user":"Повідомлення для {nickname}","delete":"Видалити","chats":"Чати","new":"Новий чат","empty_message_error":"Не вдається опублікувати порожнє повідомлення","more":"Більше","delete_confirm":"Ви дійсно хочете видалити це повідомлення?","error_loading_chat":"Під час завантаження чату сталася помилка.","error_sending_message":"Під час надсилання повідомлення сталася помилка.","empty_chat_list_placeholder":"У вас ще немає чатів. Почніть новий чат!"},"file_type":{"audio":"Аудіо","video":"Відео","image":"Зображення","file":"Файл"},"display_date":{"today":"Сьогодні"},"interactions":{"load_older":"Завантажити давніші взаємодії","follows":"Нові підписки","favs_repeats":"Поширення та вподобайки","moves":"Міграції користувачів"},"errors":{"storage_unavailable":"Pleroma не змогла отримати доступ до сховища браузеру. Ваша сесія та налаштування не будуть збережені, це може спричинити непередбачувані проблеми. Спробуйте увімкнути cookie."},"emoji":{"stickers":"Стікери","custom":"Користувацькі емодзі","search_emoji":"Пошук емодзі","keep_open":"Тримати панель відкритою","add_emoji":"Додати емодзі","emoji":"Емодзі","load_all":"Всі {emojiAmount} эмодзі завантажуються","load_all_hint":"Завантажені перші {saneAmount} емодзі, завантаження всіх емодзі може призвести до проблем з продуктивністю.","unicode":"Стандартні емодзі"},"post_status":{"content_type":{"text/bbcode":"BBCode","text/markdown":"Markdown","text/html":"HTML","text/plain":"Текстові дані"},"attachments_sensitive":"Позначити вкладення як чутливі","account_not_locked_warning_link":"замкнена","account_not_locked_warning":"Ваша обліковка не {0}. Будь-хто може відстежувати вас для перегляду дописів тільки для підписників.","new_status":"Створити допис","direct_warning_to_first_only":"Цей допис побачать лише користувачі, що були згадані на початку повідомлення.","direct_warning_to_all":"Цей допис побачать всі згадані користувачі.","default":"Що нового?","content_warning":"Тема (необов\'язково)","preview":"Попередній перегляд","posting":"Відправляється","empty_status_error":"Не можу опублікувати пустий статус без вкладень","scope":{"unlisted":"Непублічний - цей допис буде відсутній у публічних стрічках","public":"Публічний - цей допис побачать усі","private":"Для читачів - цей допис побачать лише ваші читачі","direct":"Приватний - цей допис побачать лише згадані користувачі"},"scope_notice":{"unlisted":"Цей допис не буде видно в публічній стрічці та усій відомій мережі","private":"Цей допис побачать лише ваші підписники","public":"Цей допис бачитимуть усі"},"preview_empty":"Пустий","media_description_error":"Не вдалось оновити медіа, спробуйте ще раз","media_description":"Опис медіа","post":"Опублікувати"},"settings":{"blocks_imported":"Блокування імпортовані! Їх обробка триватиме певний час.","block_import_error":"Помилка імпортування блокувань","block_import":"Імпорт блокувань","block_export_button":"Експорт блокувань у файл CSV","block_export":"Експорт блокувань","bio":"Про Вас","background":"Обкладинка","app_name":"Назва програми","follow_export":"Експортувати відстежуваних","filtering_explanation":"Усі статуси з цими словами будуть приховані, один на рядок","filtering":"Фільтрування","export_theme":"Зберегти переднабір","avatar_size_instruction":"Рекомендований мінімальний розмір для зображень аватара становить 150x150 пікселів.","delete_account_instructions":"Введіть ваш пароль в поле нижче, аби підтвердити видалення облікового запису.","delete_account_error":"Під час видалення вашого облікового запису виникла проблема. Якщо це трапляється постійно, будь ласка, зверніться до адміністратора вашого сервера.","delete_account_description":"Остаточно видалити ваш обліковий запис та усі ваші повідомлення.","delete_account":"Видалити обліковий запис","default_vis":"Обсяг видимості за замовчуванням","data_import_export_tab":"Імпорт/експорт даних","current_password":"Поточний пароль","confirm_new_password":"Підтвердіть новий пароль","composing":"Складання відповіді","collapse_subject":"Згорнути дописи з темами","changed_password":"Пароль успішно змінено!","change_password_error":"Не вдалося змінити пароль.","change_password":"Змінити пароль","cRed":"Червоний (Скасувати)","cGreen":"Зелений (Поширити)","cOrange":"Жовтогарячий (Вподобайки)","cBlue":"Блакитний (Відповісти, читати)","btnRadius":"Кнопки","blocks_tab":"Блокування","avatarRadius":"Аватарки","avatarAltRadius":"Аватарки у сповіщеннях","avatar":"Аватар","attachments":"Вкладення","attachmentRadius":"Вкладення","general":"Загальні","foreground":"Передній план","follows_imported":"Відстежуваних імпортовано! Їхня обробка потребує часу.","follow_import_error":"Помилка імпортування відстежуваних","follow_import":"Імпортувати відстежуваних","follow_export_button":"Експортувати відстежуваних до csv файлу","lock_account_description":"Обмежте свій обліковий запис лише схваленими читачами","links":"Посилання","limited_availability":"Недоступно у вашому браузері","invalid_theme_imported":"Вибраний файл не є темою Pleroma. У вашу тему не внесено жодних змін.","interfaceLanguage":"Мова оболонки","interface":"Оболонка","instance_default_simple":"(за замовчуванням)","instance_default":"(за замовчуванням: {value})","checkboxRadius":"Прапорці","inputRadius":"Поля вводу","import_theme":"Завантажити переднабір","import_followers_from_a_csv_file":"Імпортувати відстежуваних з csv файлу","import_blocks_from_a_csv_file":"Імпортувати заблокованих з csv файлу","hide_filtered_statuses":"Сховати відфільтровані статуси","hide_user_stats":"Приховувати статистику користувачів (напр. кількість відстежувачів)","hide_post_stats":"Приховувати статистику дописів (напр. кількість вподобаних)","use_one_click_nsfw":"Відкривати NSFW вкладення одним кліком миші","preload_images":"Передзавантажувати світлини","hide_isp":"Сховати панель з особливостями сервера","max_thumbnails":"Максимальна кількість мініатюр на повідомлення","hide_muted_posts":"Приховати повідомлення приглушених користувачів","hide_attachments_in_tl":"Приховувати вкладення у стрічці","hide_attachments_in_convo":"Приховувати вкладення у розмовах","mutes_tab":"Заглушені","loop_video_silent_only":"Зациклити відео без звуку (напр. Mastodon \\"gifs\\")","loop_video":"Зациклити відео","mfa":{"verify":{"desc":"Щоб увімкнути двофакторну автентифікацію, введіть код з вашого застосунку для двофакторної автентифікації:"},"scan":{"desc":"Відскануйте цей QR-код за допомогою програми двофакторної автентифікації або введіть текстовий ключ:","title":"Сканування","secret_code":"Ключ"},"authentication_methods":"Методи автентифікації","recovery_codes_warning":"Запишіть ці коди і тримайте в безпечному місці - інакше ви їх ніколи не побачите. Якщо ви втратите доступ до OTP додатку - без резервних кодів ви не зможете отримати доступ до свого облікового запису.","waiting_a_recovery_codes":"Отримую резервні коди…","recovery_codes":"Резервні коди.","warning_of_generate_new_codes":"Після отримання нових резервних кодів, старі перестануть працювати.","generate_new_recovery_codes":"Згенерувати нові резервні коди","title":"Двофакторна автентифікація","confirm_and_enable":"Підтвердити та увімкнути OTP","wait_pre_setup_otp":"попереднє налаштування OTP","setup_otp":"Налаштування OTP","otp":"OTP"},"enter_current_password_to_confirm":"Введіть свій поточний пароль","security":"Безпека","domain_mutes":"Домени","discoverable":"Дозволити виявлення цього облікового запису в результатах пошуку та інших службах","mutes_and_blocks":"Заглушення та блокування","changed_email":"Email успішно змінено!","change_email_error":"Сталася помилка під час зміни email.","change_email":"Змінити email","bot":"Це обліковий запис бота","import_mutes_from_a_csv_file":"Імпорт заглушених з csv файлу","mutes_imported":"Заглушені імпортовані! Їх обробка триватиме певний час.","mute_export_button":"Експорт заглушених у csv файл","mute_import_error":"Під час імпорту заглушених сталася помилка","mute_import":"Імпорт ігнорувань","mute_export":"Експорт ігнорувань","new_password":"Новий пароль","new_email":"Нова ел. пошта","name_bio":"Особисті дані","set_new_profile_banner":"Встановити новий банер","set_new_avatar":"Встановити новий аватар","security_tab":"Безпека","saving_ok":"Налаштування збережені","saving_err":"Помилка при збереженні налаштувань","reply_visibility_self":"Показувати лише адресовані мені відповіді","reply_visibility_following":"Показувати відповіді адресовані лише мені або користувачам, яких я читаю","reply_visibility_all":"Показати всі відповіді","replies_in_timeline":"Відповіді в стрічці","profile_tab":"Профіль","profile_banner":"Банер профілю","profile_background":"Обкладинка профілю","revoke_token":"Відкликати","oauth_tokens":"OAuth ключі","token":"Ключ","refresh_token":"Оновити ключ","valid_until":"Діє до","use_contain_fit":"Не обрізати краї мініатюр","name":"Ім\'я","profile_fields":{"value":"Зміст","name":"Назва","add_field":"Додати поле","label":"Метадані профілю"},"play_videos_in_modal":"Відтворювати відео у спливаючій рамці","accent":"Акцент","chatMessageRadius":"Повідомлення в бесіді","notification_mutes":"Щоб перестати отримувати сповіщення від певного користувача, заглушіть його.","user_mutes":"Користувачі","no_mutes":"Заглушені відсутні","emoji_reactions_on_timeline":"Показувати реакції емоджі на стрічці","pad_emoji":"Автоматично додавати простір з обидвох сторін емоджі","allow_following_move":"Дозволити автостеження при переміщенні на інший інстанс","set_new_profile_background":"Встановити нову обкладинку профілю","radii_help":"Радіус заокруглення кутів інтерфейсу (в пікселях)","presets":"Переднабір","show_moderator_badge":"Показувати значок модератора в моєму профілі","show_admin_badge":"Показувати значок адміністратора в моєму профілі","hide_followers_description":"Не показувати хто підписаний на мене","hide_follows_description":"Не показувати на кого я підписаний","no_rich_text_description":"Видалення всього форматування тексту з усіх дописів","notification_visibility_emoji_reactions":"Реакції","notification_visibility_moves":"Міграція користувача","notification_visibility_repeats":"Поширення допису","notification_visibility_mentions":"Згадування","notification_visibility_likes":"Вподобайки","notification_visibility_follows":"Нові підписки","notification_visibility":"Отримувати сповіщення про наступні події","settings":"Налаштування","panelRadius":"Панелі","text":"Текст","tooltipRadius":"Підказки/попередження","values":{"true":"так","false":"ні"},"user_settings":"Користувацькі налаштування","upload_a_photo":"Завантажити фото","theme":"Тема","style":{"switcher":{"keep_fonts":"Залишити шрифти","keep_roundness":"Залишити скруглення","keep_opacity":"Залишити прозорості","keep_shadows":"Залишити тіні","keep_color":"Залишити кольори","use_source":"Нова версія","use_snapshot":"Стара версія","load_theme":"Завантажити тему","reset":"Скинути","clear_all":"Очистити все","help":{"older_version_imported":"Імпортований файл було створено в старішій версії FE.","future_version_imported":"Імпортований файл було створено в новішій версії FE.","v2_imported":"Файл, який ви імпортували, був створений для старішої версії інтерфейсу Pleroma. Ми намагаємось покращити сумісність, але все одно можуть бути розбіжності.","upgraded_from_v2":"PleromaFE було оновлено, тема може дещо відрізнятися від тієї, яку ви пам’ятаєте.","snapshot_source_mismatch":"Конфлікт версій: Швидше за все, FE повернуто до попередньої версії та оновлено знову, якщо ви змінили тему за допомогою старішої версії FE, швидше за все, ви хочете використовувати стару версію, інакше використовуйте нову версію.","migration_napshot_gone":"З якоїсь причини знімок зник, деякі речі можуть бути не такими, як ви пам’ятаєте.","migration_snapshot_ok":"Для безпеки, знімок теми завантажено. Ви можете спробувати завантажити дані теми.","fe_downgraded":"Версію PleromaFE змінено на старшу.","fe_upgraded":"Двигун теми PleromaFE оновлено.","snapshot_missing":"У файлі немає жодного знімка теми, тому він може виглядати інакше, ніж передбачалося спочатку.","snapshot_present":"Знімок теми завантажено, тому всі значення було перезаписано. Натомість ви можете завантажити правильні дані теми."},"keep_as_is":"Залишити як є","clear_opacity":"Очистити прозорість","save_load_hint":"Параметри \\"Зберегти\\" зберігають поточні параметри під час вибору або завантаження тем, вони також зберігають зазначені параметри під час експорту теми. Коли всі прапорці знято, експортування теми збереже все."},"common":{"color":"Колір","contrast":{"context":{"text":"для тексту","18pt":"для великого (18pt+) тексту"},"level":{"bad":"Не відповідає жодним вимогам щодо доступності","aaa":"відповідає вимогам рівня ААA (рекомендований)","aa":"відповідає вимогам рівня АА (мінімальний)"},"hint":"Рівень контрасту: {ratio}, {level} {context}"},"opacity":"Прозорість"},"preview":{"mono":"змісту","text":"Трохи більше {0} та {1}","button":"Кнопка","error":"Приклад помилки","content":"Зміст","header":"Попередній перегляд","link":"невеличке посилання","header_faint":"Це нормально","input":"Що нового?","checkbox":"Я переглянув умови використання","fine_print":"Прочитайте наш {0} аби нічого нового не дізнатись!","faint_link":"корисний підручник"},"shadows":{"components":{"button":"Кнопка","input":"Поле вводу","panel":"Панель","panelHeader":"Заголовок панелі","avatarStatus":"Аватар користувача (в стрічці)","avatar":"Аватар користувача (профіль)","buttonPressedHover":"Кнопка (натиснута + наведений курсор)","buttonPressed":"Кнопка (натиснута)","buttonHover":"Кнопка (при наведенні)","popup":"Спливаючі вікна та підказки","topBar":"Верхня панель"},"component":"Компонент","filter_hint":{"inset_classic":"Тіні спрямовані всередину використовуватимуть {0}","spread_zero":"Тіні з поширенням > 0 відображатимуться так, ніби було встановлено нуль","avatar_inset":"Зауважте, що використання як вставних, так і невставних тіней на аватарах може привести до непередбачуваних результатів із прозорими аватарами.","drop_shadow_syntax":"{0} не підтримує параметр {1} та ключове слово {2}.","always_drop_shadow":"Увага! Ця тінь завжди використовує {0}, якщо підтримується браузером."},"inset":"Всередину","blur":"Розмиття","shadow_id":"Тінь №{value}","override":"Перевизначити","_tab_label":"Тінь і підсвічування","hintV3":"Для тіней ви також можете використовувати позначення {0} для використання іншого кольорового слота.","spread":"Розмах"},"fonts":{"components":{"input":"Поля вводу","interface":"Інтерфейс","postCode":"Моноширинний текст в дописі (форматований текст)","post":"Текст допису"},"_tab_label":"Шрифти","size":"Розмір (в пікселях)","custom":"Нестандартний","weight":"Товщина","family":"Назва шрифту","help":"Виберіть шрифт для елементів інтерфейсу. Для \\"нестандартного\\" потрібно ввести точну назву шрифту, так як вона відображається в системі."},"advanced_colors":{"alert_warning":"Попередження","underlay":"Тло","inputs":"Поля входу","buttons":"Кнопки","borders":"Кордони","top_bar":"Верхня панель","panel_header":"Заголовок панелі","badge_notification":"Сповіщення","popover":"Підказки, меню, поповери","badge":"Тло значків","post":"Дописи/Дані користувачів","alert_neutral":"Нейтральний","alert_error":"Помилки","alert":"Фон сповіщень","_tab_label":"Додатково","selectedPost":"Вибраний допис","highlight":"Виділені елементи","poll":"Діаграма опитування","icons":"Іконки","faint_text":"Затемнений текст","chat":{"border":"Кайма","outgoing":"Вихідні повідомлення","incoming":"Вхідні повідомлення"},"toggled":"Переключено","disabled":"Вимкнено","selectedMenu":"Вибраний пункт меню","tabs":"Вкладки","pressed":"Натиснуто","wallpaper":"Шпалери"},"common_colors":{"rgbo":"Піктограми, акценти, значки","foreground_hint":"Перегляньте вкладку \\"Додатково\\" для більшого контролю","main":"Загальні кольори","_tab_label":"Загальні"},"radii":{"_tab_label":"Скруглення"}},"enable_web_push_notifications":"Увімкнути web push-сповіщення","notifications":"Сповіщення","fun":"Розваги","notification_setting_privacy":"Приватність","notification_setting_filters":"Фільтри","reset_avatar":"Скинути аватар","reset_profile_background":"Скинути обкладинку профілю","reset_avatar_confirm":"Ви дійсно хочете скинути аватар?","reset_profile_banner":"Скинули банер профілю","hide_follows_count_description":"Не показувати кількість підписників","reset_banner_confirm":"Ви дійсно хочете скинути банер?","reset_background_confirm":"Ви дійсно хочете скинути обкладинку?","subject_line_behavior":"Вигляд теми при відповіді","subject_input_always_show":"Завжди показувати поле для вводу теми","minimal_scopes_mode":"Мінімізувати набір варіантів осягу для допису","scope_copy":"Копіювати осяг при відповіді (завжди ввімкнено для особистих повідомлень)","search_user_to_mute":"Шукайте кого ви хочете заглушити","search_user_to_block":"Шукайте кого ви хочете заблокувати","autohide_floating_post_button":"Автоматично ховати кнопку \\"Новий допис\\" (в мобільній версії)","pause_on_unfocused":"Призупинити трансляцію, коли вкладка неактивна","hide_followers_count_description":"Не показувати кількість моїх підписників","notification_blocks":"Блокування користувача зупиняє всі сповіщення від нього, а також скасовує його відстеження.","notification_setting_hide_notification_contents":"Ховати відправника та вміст push-сповіщень","notification_setting_block_from_strangers":"Блокувати сповіщення від користувачів за якими ви не слідкуєте","type_domains_to_mute":"Пошук доменів для заглушення","nsfw_clickthrough":"Увімкнути приховування NSFW медіа","greentext":"Мемний текст","virtual_scrolling":"Оптимізувати оновлення стрічки","theme_help_v2_2":"Піктограми під деякими записами є показниками контрасту між фоном та текстом. Коли ви наведете на них курсор, ви отримаєте детальну інформацію. Пам\'ятайте, якщо ви використовуєте прозорість, індикатори показують найгірший варіант.","theme_help_v2_1":"Ви також можете замінити кольори та видимість окремих компонентів, перемикаючи прапорці, використовуйте \\"Очистити все\\", щоб видалити всі заміни.","theme_help":"Використовувати шістнадцяткові коди кольору (#rrggbb) щоб редагувати тему.","no_blocks":"Блокування відсутні","subject_line_mastodon":"Як в mastodon: просто скопіювати","subject_line_email":"Як в email: \\"re: тема\\"","useStreamingApiWarning":"(Не рекомендується, експериментально, повідомлення можуть зникати)","useStreamingApi":"Отримувати повідомлення та сповіщення в режимі реального часу","streaming":"Ввімкнути автоматичне завантаження нових повідомлень при прокручуванні вгору","stop_gifs":"Відтворювати GIF анімації тільки при наведенні","post_status_content_type":"Тип вмісту допису","subject_line_noop":"Не копіювати","version":{"frontend_version":"Версія фронтенду","backend_version":"Версія бекенду","title":"Версія"},"hide_wallpaper":"Сховати шпалери екземпляру","more_settings":"Більше налаштувань","sensitive_by_default":"Визначати допис як дратівливий за замовчуванням","reply_visibility_self_short":"Показувати відповіді лише мені","reply_visibility_following_short":"Показувати відповіді тим, на кого я підписаний","hide_all_muted_posts":"Приховати приглушені повідомлення","hide_media_previews":"Приховати попередній перегляд медіа","word_filter":"Фільтр слів","setting_changed":"Конфігурація відрізняється від типової","save":"Зберегти зміни","file_export_import":{"errors":{"file_slightly_new":"Другорядна версія файлу відрізняється, деякі налаштування можуть бути не прийняті","file_too_old":"Несумісна основна версія: {fileMajor}, версія файлу занадто стара і не підтримується (мінімальна версія налаштувань {feMajor})","file_too_new":"Несумісна основна версія: {fileMajor}, ця версія PleromaFE ({feMajor}) занадто стара для його обробки","invalid_file":"Вибраний файл не є резервною копією налаштувань Pleroma. Ніяких змін не було зроблено."},"restore_settings":"Відновити налаштування з файлу","backup_settings_theme":"Резервне копіювання налаштувань та теми у файл","backup_settings":"Резервне копіювання налаштувань у файл","backup_restore":"Резервне копіювання налаштувань"},"right_sidebar":"Показувати бокову панель справа","hide_shoutbox":"Приховати оголошення інстансу"},"selectable_list":{"select_all":"Вибрати все"},"remote_user_resolver":{"error":"Не знайдено.","searching_for":"Шукаю","remote_user_resolver":"Пошукова система для віддалених користувачів"},"registration":{"validations":{"password_confirmation_match":"пароль та підтвердження паролю мають бути однаковими","password_confirmation_required":"не може бути порожнім","password_required":"не може бути порожнім","email_required":"не може бути порожнім","fullname_required":"не може бути порожнім","username_required":"не може бути порожнім"},"bio_placeholder":"напр.\\nНаш народ завжди прагне волі для себе і бажає її для інших народів. Він боровся і бореться за правду і справедливість. Ми хочемо жити у згоді і взаємному шануванні з усіми народами доброї волі. Такі самі права визнаємо за іншими народами, за які боремося для себе.","fullname_placeholder":"напр. Степан Бандера","username_placeholder":"напр. stepan","new_captcha":"Натисніть на зображення, щоб оновити код, якщо він нерозбірливий","token":"Ключ запрошення","registration":"Реєстрація","password_confirm":"Підтвердження паролю","fullname":"Відображене ім\'я","email":"Ел. пошта","bio":"Про себе","captcha":"CAPTCHA","register":"Зареєструватися","reason_placeholder":"Цей інстанс обробляє запити на реєстрацію вручну.\\nРозкажіть адміністрації чому ви хочете зареєструватися.","reason":"Причина реєстрації"},"who_to_follow":{"who_to_follow":"На кого підписатися","more":"Більше"},"tool_tip":{"repeat":"Поширити","reply":"Відповісти","add_reaction":"Додати реакцію","user_settings":"Налаштування користувача","favorite":"Подобається","reject_follow_request":"Відхилити запит на підписку","accept_follow_request":"Прийняти запит на підписку","media_upload":"Завантажити медіа","bookmark":"Додати до закладок"},"upload":{"error":{"base":"Збій при завантаженні.","file_too_big":"Файл завеликий [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","default":"Спробуйте ще раз пізніше","message":"Помилка завантаження: {0}"},"file_size_units":{"TiB":"ТіБ","GiB":"ГіБ","MiB":"МіБ","KiB":"КіБ","B":"Б"}},"time":{"weeks_short":"{0}тижд.","week_short":"{0}тижд.","years_short":"{0}р","year_short":"{0}р","years":"{0} роки","year":"{0} рік","weeks":"{0} тижнів","week":"{0} тиждень","second_short":"{0}с","second":"{0} секунда","now_short":"щойно","now":"щойно","months_short":"{0}міс.","month_short":"{0}міс.","months":"{0} місяці","month":"{0} місяць","minutes_short":"{0}хв","hours_short":"{0}год","hour_short":"{0}год","day_short":"{0}д","minute_short":"{0}хв","minutes":"{0} хвилини","minute":"{0} хвилина","in_past":"{0} тому","hours":"{0} години","hour":"{0} година","days_short":"{0}д","days":"{0} дні","day":"{0} день","seconds_short":"{0}с","seconds":"{0} секунди","in_future":"через {0}"},"search":{"no_results":"Немає результатів","hashtags":"Хештеги","people":"Люди","people_talking":"{count} людей говорять про це","person_talking":"{count} особа говорить про це"},"user_card":{"statuses":"Дописи","message":"Повідомлення","follow":"Підписатись","follow_unfollow":"Відписатись","follow_sent":"Запит відправлено!","blocked":"Заблоковано!","admin_menu":{"activate_account":"Активувати обліковий запис","deactivate_account":"Деактивувати обліковий запис","delete_account":"Видалити обліковий запис","moderation":"Модерація","delete_user_confirmation":"Ви абсолютно впевнені? Цю дію неможливо буде скасовувати.","delete_user":"Видалити обліковий запис","strip_media":"Вилучити медіа з дописів користувача","force_nsfw":"Позначити всі дописи як NSFW","disable_any_subscription":"Взагалі заборонити підписку на користувача","disable_remote_subscription":"Заборонити підписуватись на користувачів з віддалених інстансів","sandbox":"Показувати дописи лише підписникам","force_unlisted":"Не показувати дописи в стрічці","revoke_moderator":"Позбавити прав модератора","grant_moderator":"Надати права модератора","revoke_admin":"Позбавити прав адміністратора","grant_admin":"Надати права адміністратора","quarantine":"Не розповсюджувати дописи на інших інстансах"},"deny":"Відмовити","block":"Заблокувати","approve":"Схвалити","mention":"Згадати","unsubscribe":"Відписатись","subscribe":"Підписатись","report":"Поскаржитись","per_day":"на день","favorites":"Вподобання","media":"Медіа","show_repeats":"Показати поширення","hide_repeats":"Приховати поширення","its_you":"Це ти!","follows_you":"Підписаний на вас!","followers":"Підписники","followees":"Підписаний(-а)","follow_progress":"Запитую…","mute_progress":"Глушимо…","unmute_progress":"Знімаємо глушення…","unmute":"Зняти глушення","hidden":"Приховано","following":"Підписаний!","block_progress":"Блокуємо…","unblock_progress":"Розблоковуємо…","unblock":"Розблокувати","remote_follow":"Підписатись","muted":"Заглушений","mute":"Заглушити","highlight":{"side":"Смужка ліворуч","striped":"Смугастий фон","solid":"Суцільний фон","disabled":"Не виділяти"},"bot":"Бот","edit_profile":"Редагувати профіль"},"status":{"copy_link":"Скопіювати посилання на допис","status_unavailable":"Допис недоступний","replies_list":"Відповіді:","delete_confirm":"Ви дійсно хочете видалити цей допис?","delete":"Видалити допис","pin":"Закріпити в профілі","status_deleted":"Цей допис був видалений","favorites":"Вподобане","hide_content":"Сховати вміст","show_content":"Показати вміст","hide_full_subject":"Сховати всю тему","show_full_subject":"Показати всю тему","thread_muted_and_words":", має слова:","mute_conversation":"Заглушити розмову","reply_to":"Відповідь","unbookmark":"Видалити із закладок","bookmark":"Додати до закладок","pinned":"Закріплено","unpin":"Відкріпити від профілю","repeats":"Поширення","nsfw":"Дратівливий вміст","thread_muted":"Нитка заглушена","unmute_conversation":"Припинити глушити розмову","external_source":"Зовнішнє джерело","expand":"Розгорнути"},"timeline":{"no_more_statuses":"Більше немає дописів","up_to_date":"Оновлено","reload":"Оновити","show_new":"Показати нові","load_older":"Завантажити давніші дописи","error":"Помилка завантаження стрічки: {0}","collapse":"Згорнути","conversation":"Розмова","no_statuses":"Ніяких статусів","repeated":"поширив(-ла)","no_retweet_hint":"Запис, позначено як \\"тільки для підписників\\" або \\"особисте\\" і тому не може бути поширений","socket_broke":"Втрачено з\'єднання у реальному часі: код {0}","socket_reconnected":"Встановлено з\'єднання у реальному часі"},"user_reporting":{"submit":"Відправити","forward_to":"Переслати до {0}","forward_description":"Цей обліковий запис належить іншому інстансу. Відправити їм копію скарги?","additional_comments":"Додаткове пояснення","add_comment_description":"Скарга буде надіслана модераторам вашого інстансу. Нижче Ви можете додати пояснення чому ви вирішили поскаржитись на цей обліковий запис:","title":"Поскаржитись на {0}","generic_error":"Виникла помилка під час обробки вашого запиту."},"user_profile":{"profile_loading_error":"Вибачте, під час завантаження цього профілю виникла помилка.","profile_does_not_exist":"Вибачте, цей профіль більше не існує.","timeline_title":"Стрічка користувача"}}')}}]); +//# sourceMappingURL=30.064c236fa83ac21c252f.js.map \ No newline at end of file diff --git a/priv/static/static/js/30.064c236fa83ac21c252f.js.map b/priv/static/static/js/30.064c236fa83ac21c252f.js.map new file mode 100644 index 000000000..4d0d88ca9 --- /dev/null +++ b/priv/static/static/js/30.064c236fa83ac21c252f.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/30.064c236fa83ac21c252f.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/30.d29cd76b0781bb654f87.js b/priv/static/static/js/30.d29cd76b0781bb654f87.js deleted file mode 100644 index f681595c7..000000000 --- a/priv/static/static/js/30.d29cd76b0781bb654f87.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[30],{610:function(e){e.exports=JSON.parse('{"general":{"dismiss":"Закрити","close":"Закрити","verify":"Перевірити","confirm":"Підтвердити","enable":"Увімкнути","disable":"Вимкнути","cancel":"Скасувати","show_less":"Показати менше","show_more":"Показати більше","optional":"необов\'язково","retry":"Спробуйте ще раз","error_retry":"Будь ласка, спробуйте ще раз","generic_error":"Виникла помилка","loading":"Завантаження…","more":"Більше","submit":"Відправити","apply":"Застосувати","peek":"Глянути","role":{"moderator":"Модератор","admin":"Адміністратор"}},"finder":{"error_fetching_user":"Користувача не знайдено","find_user":"Знайти користувача"},"features_panel":{"gopher":"Gopher","pleroma_chat_messages":"Чати","chat":"Оголошення","who_to_follow":"Кого відстежувати","title":"Особливості","scope_options":"Параметри обсягу","media_proxy":"Посередник медіа-даних","text_limit":"Ліміт символів","upload_limit":"Обмеження завантажень"},"exporter":{"processing":"Опрацьовую, скоро ви зможете завантажити файл","export":"Експорт"},"domain_mute_card":{"unmute_progress":"Вмикаю…","unmute":"Вимкнути заглушення","mute_progress":"Вимикаю…","mute":"Ігнорувати"},"shoutbox":{"title":"Оголошення"},"about":{"staff":"Адміністрація","mrf":{"simple":{"media_nsfw_desc":"Даний інстанс примусово позначає медіа в наступних інстансах як дратівливий:","media_nsfw":"Примусове визначення медіа як дратівливого","media_removal_desc":"Поточний інстанс видаляє медіа з дописів на перелічених інстансах:","media_removal":"Видалення медіа","ftl_removal_desc":"Цей інстанс видаляє перелічені інстанси з Федеративної стрічки:","ftl_removal":"Видалення зі стрічки Федеративної мережі","quarantine_desc":"Поточний інстанс надсилатиме тільки публічні дописи наступним інстансам:","quarantine":"Карантин","reject_desc":"Поточний інстанс не прийматиме повідомлення з перелічених інстансів:","accept":"Прийняти","reject":"Відхилити","accept_desc":"Поточний інстанс приймає повідомлення тільки з перелічених інстансів:","simple_policies":"Правила поточного інстансу"},"mrf_policies_desc":"Правила MRF розповсюджуються на даний інстанс. Наступні правила активні:","mrf_policies":"Активувати правила MRF (модуль переписування повідомлень)","keyword":{"is_replaced_by":"→","replace":"Замінити","reject":"Відхилити","ftl_removal":"Прибрати з федеративної стрічки","keyword_policies":"Політика щодо ключових слів"},"federation":"Федерація"}},"login":{"hint":"Увійдіть, щоб доєднатися до дискусії","username":"Ім\'я користувача","register":"Зареєструватись","password":"Пароль","logout":"Вийти","description":"Увійти за допомогою OAuth","login":"Увійти","recovery_code":"Код відновлення","enter_recovery_code":"Введіть код відновлення","authentication_code":"Код автентифікації","heading":{"recovery":"Двофакторне відновлення","totp":"Двофакторна автентифікація"},"enter_two_factor_code":"Введіть двофакторний код автентифікації","placeholder":"напр. stepan"},"importer":{"error":"Під час імпортування файлу сталася помилка.","success":"Імпортовано успішно.","submit":"Відправити"},"image_cropper":{"cancel":"Відмінити","save_without_cropping":"Зберегти не обрізаючи","crop_picture":"Обрізати малюнок","save":"Зберегти"},"polls":{"expired":"Опитування закінчилось {0} тому","expires_in":"Опитування закінчується через {0}","expiry":"Термін опитування","multiple_choices":"Декілька варіантів","single_choice":"Один варіант","add_option":"Додати опцію","type":"Тип опитування","vote":"Проголосувати","votes":"голосів","option":"Відповідь","add_poll":"Додати опитування","not_enough_options":"Замало унікальних варіантів в опитуванні","people_voted_count":"{count} особа проголосувала | {count} осіб проголосувало","votes_count":"{count} голос | {count} голосів"},"notifications":{"reacted_with":"додав реакцію: {0}","migrated_to":"мігрував на","no_more_notifications":"Немає більше сповіщень","repeated_you":"поширив(-ла) ваш допис","read":"Прочитано!","notifications":"Сповіщення","load_older":"Завантажити давніші сповіщення","follow_request":"хоче підписатись на вас","followed_you":"підписався(-лась) на вас","favorited_you":"вподобав(-ла) ваш допис","broken_favorite":"Невідомий допис, шукаю його…","error":"Помилка при оновленні сповіщень: {0}"},"nav":{"chats":"Чати","timelines":"Стрічки","twkn":"Уся відома мережа","about":"Інформація","preferences":"Налаштування","friend_requests":"Запити послідовників","who_to_follow":"Кого відстежувати","search":"Пошук","user_search":"Пошук користувача","bookmarks":"Закладки","timeline":"Домашня стрічка","public_tl":"Публічна стрічка","dms":"Приватні повідомлення","interactions":"Взаємодії","mentions":"Згадування","back":"Назад","administration":"Адміністрування","home_timeline":"Домашня стрічка"},"media_modal":{"next":"Наступна","previous":"Попередня"},"password_reset":{"instruction":"Введіть свою адресу електронної пошти або ім’я користувача. Ми надішлемо вам посилання для скидання пароля.","placeholder":"Ваша електронна адреса або ім\'я користувача","check_email":"Перевірте електронну пошту на наявність посилання для скидання пароля.","return_home":"Повернутися на головну сторінку","too_many_requests":"Ви досягли ліміту спроб, спробуйте ще раз пізніше.","password_reset_required_but_mailer_is_disabled":"Ви повинні скинути свій пароль, але скидання пароля вимкнено. Зверніться до адміністратора інстансу.","password_reset_disabled":"Скидання пароля вимкнено. Зверніться до адміністратора інстансу.","password_reset_required":"Для входу потрібно скинути пароль.","password_reset":"Відновити пароль","forgot_password":"Забули пароль?"},"chats":{"you":"Ви:","message_user":"Повідомлення для {nickname}","delete":"Видалити","chats":"Чати","new":"Новий чат","empty_message_error":"Не вдається опублікувати порожнє повідомлення","more":"Більше","delete_confirm":"Ви дійсно хочете видалити це повідомлення?","error_loading_chat":"Під час завантаження чату сталася помилка.","error_sending_message":"Під час надсилання повідомлення сталася помилка.","empty_chat_list_placeholder":"У вас ще немає чатів. Почніть новий чат!"},"file_type":{"audio":"Аудіо","video":"Відео","image":"Зображення","file":"Файл"},"display_date":{"today":"Сьогодні"},"interactions":{"load_older":"Завантажити давніші взаємодії","follows":"Нові підписки","favs_repeats":"Поширення та вподобайки","moves":"Міграції користувачів"},"errors":{"storage_unavailable":"Pleroma не змогла отримати доступ до сховища браузеру. Ваша сесія та налаштування не будуть збережені, це може спричинити непередбачувані проблеми. Спробуйте увімкнути cookie."},"emoji":{"stickers":"Стікери","custom":"Користувацькі емодзі","search_emoji":"Пошук емодзі","keep_open":"Тримати панель відкритою","add_emoji":"Додати емодзі","emoji":"Емодзі","load_all":"Всі {emojiAmount} эмодзі завантажуються","load_all_hint":"Завантажені перші {saneAmount} емодзі, завантаження всіх емодзі може призвести до проблем з продуктивністю.","unicode":"Стандартні емодзі"},"post_status":{"content_type":{"text/bbcode":"BBCode","text/markdown":"Markdown","text/html":"HTML","text/plain":"Текстові дані"},"attachments_sensitive":"Позначити вкладення як чутливі","account_not_locked_warning_link":"замкнена","account_not_locked_warning":"Ваша обліковка не {0}. Будь-хто може відстежувати вас для перегляду дописів тільки для підписників.","new_status":"Створити допис","direct_warning_to_first_only":"Цей допис побачать лише користувачі, що були згадані на початку повідомлення.","direct_warning_to_all":"Цей допис побачать всі згадані користувачі.","default":"Що нового?","content_warning":"Тема (необов\'язково)","preview":"Попередній перегляд","posting":"Відправляється","empty_status_error":"Не можу опублікувати пустий статус без вкладень","scope":{"unlisted":"Непублічний - цей допис буде відсутній у публічних стрічках","public":"Публічний - цей допис побачать усі","private":"Для читачів - цей допис побачать лише ваші читачі","direct":"Приватний - цей допис побачать лише згадані користувачі"},"scope_notice":{"unlisted":"Цей допис не буде видно в публічній стрічці та усій відомій мережі","private":"Цей допис побачать лише ваші підписники","public":"Цей допис бачитимуть усі"},"preview_empty":"Пустий","media_description_error":"Не вдалось оновити медіа, спробуйте ще раз","media_description":"Опис медіа","post":"Опублікувати"},"settings":{"blocks_imported":"Блокування імпортовані! Їх обробка триватиме певний час.","block_import_error":"Помилка імпортування блокувань","block_import":"Імпорт блокувань","block_export_button":"Експорт блокувань у файл CSV","block_export":"Експорт блокувань","bio":"Про Вас","background":"Обкладинка","app_name":"Назва програми","follow_export":"Експортувати відстежуваних","filtering_explanation":"Усі статуси з цими словами будуть приховані, один на рядок","filtering":"Фільтрування","export_theme":"Зберегти переднабір","avatar_size_instruction":"Рекомендований мінімальний розмір для зображень аватара становить 150x150 пікселів.","delete_account_instructions":"Введіть ваш пароль в поле нижче, аби підтвердити видалення облікового запису.","delete_account_error":"Під час видалення вашого облікового запису виникла проблема. Якщо це трапляється постійно, будь ласка, зверніться до адміністратора вашого сервера.","delete_account_description":"Остаточно видалити ваш обліковий запис та усі ваші повідомлення.","delete_account":"Видалити обліковий запис","default_vis":"Обсяг видимості за замовчуванням","data_import_export_tab":"Імпорт/експорт даних","current_password":"Поточний пароль","confirm_new_password":"Підтвердіть новий пароль","composing":"Складання відповіді","collapse_subject":"Згорнути дописи з темами","changed_password":"Пароль успішно змінено!","change_password_error":"Не вдалося змінити пароль.","change_password":"Змінити пароль","cRed":"Червоний (Скасувати)","cGreen":"Зелений (Поширити)","cOrange":"Жовтогарячий (Вподобайки)","cBlue":"Блакитний (Відповісти, читати)","btnRadius":"Кнопки","blocks_tab":"Блокування","avatarRadius":"Аватарки","avatarAltRadius":"Аватарки у сповіщеннях","avatar":"Аватар","attachments":"Вкладення","attachmentRadius":"Вкладення","general":"Загальні","foreground":"Передній план","follows_imported":"Відстежуваних імпортовано! Їхня обробка потребує часу.","follow_import_error":"Помилка імпортування відстежуваних","follow_import":"Імпортувати відстежуваних","follow_export_button":"Експортувати відстежуваних до csv файлу","lock_account_description":"Обмежте свій обліковий запис лише схваленими читачами","links":"Посилання","limited_availability":"Недоступно у вашому браузері","invalid_theme_imported":"Вибраний файл не є темою Pleroma. У вашу тему не внесено жодних змін.","interfaceLanguage":"Мова оболонки","interface":"Оболонка","instance_default_simple":"(за замовчуванням)","instance_default":"(за замовчуванням: {value})","checkboxRadius":"Прапорці","inputRadius":"Поля вводу","import_theme":"Завантажити переднабір","import_followers_from_a_csv_file":"Імпортувати відстежуваних з csv файлу","import_blocks_from_a_csv_file":"Імпортувати заблокованих з csv файлу","hide_filtered_statuses":"Сховати відфільтровані статуси","hide_user_stats":"Приховувати статистику користувачів (напр. кількість відстежувачів)","hide_post_stats":"Приховувати статистику дописів (напр. кількість вподобаних)","use_one_click_nsfw":"Відкривати NSFW вкладення одним кліком миші","preload_images":"Передзавантажувати світлини","hide_isp":"Сховати панель з особливостями сервера","max_thumbnails":"Максимальна кількість мініатюр на повідомлення","hide_muted_posts":"Приховати повідомлення приглушених користувачів","hide_attachments_in_tl":"Приховувати вкладення у стрічці","hide_attachments_in_convo":"Приховувати вкладення у розмовах","mutes_tab":"Заглушені","loop_video_silent_only":"Зациклити відео без звуку (напр. Mastodon \\"gifs\\")","loop_video":"Зациклити відео","mfa":{"verify":{"desc":"Щоб увімкнути двофакторну автентифікацію, введіть код з вашого застосунку для двофакторної автентифікації:"},"scan":{"desc":"Відскануйте цей QR-код за допомогою програми двофакторної автентифікації або введіть текстовий ключ:","title":"Сканування","secret_code":"Ключ"},"authentication_methods":"Методи автентифікації","recovery_codes_warning":"Запишіть ці коди і тримайте в безпечному місці - інакше ви їх ніколи не побачите. Якщо ви втратите доступ до OTP додатку - без резервних кодів ви не зможете отримати доступ до свого облікового запису.","waiting_a_recovery_codes":"Отримую резервні коди…","recovery_codes":"Резервні коди.","warning_of_generate_new_codes":"Після отримання нових резервних кодів, старі перестануть працювати.","generate_new_recovery_codes":"Згенерувати нові резервні коди","title":"Двофакторна автентифікація","confirm_and_enable":"Підтвердити та увімкнути OTP","wait_pre_setup_otp":"попереднє налаштування OTP","setup_otp":"Налаштування OTP","otp":"OTP"},"enter_current_password_to_confirm":"Введіть свій поточний пароль","security":"Безпека","domain_mutes":"Домени","discoverable":"Дозволити виявлення цього облікового запису в результатах пошуку та інших службах","mutes_and_blocks":"Заглушення та блокування","changed_email":"Email успішно змінено!","change_email_error":"Сталася помилка під час зміни email.","change_email":"Змінити email","bot":"Це обліковий запис бота","import_mutes_from_a_csv_file":"Імпорт заглушених з csv файлу","mutes_imported":"Заглушені імпортовані! Їх обробка триватиме певний час.","mute_export_button":"Експорт заглушених у csv файл","mute_import_error":"Під час імпорту заглушених сталася помилка","mute_import":"Імпорт ігнорувань","mute_export":"Експорт ігнорувань","new_password":"Новий пароль","new_email":"Нова ел. пошта","name_bio":"Особисті дані","set_new_profile_banner":"Встановити новий банер","set_new_avatar":"Встановити новий аватар","security_tab":"Безпека","saving_ok":"Налаштування збережені","saving_err":"Помилка при збереженні налаштувань","reply_visibility_self":"Показувати лише адресовані мені відповіді","reply_visibility_following":"Показувати відповіді адресовані лише мені або користувачам, яких я читаю","reply_visibility_all":"Показати всі відповіді","replies_in_timeline":"Відповіді в стрічці","profile_tab":"Профіль","profile_banner":"Банер профілю","profile_background":"Обкладинка профілю","revoke_token":"Відкликати","oauth_tokens":"OAuth ключі","token":"Ключ","refresh_token":"Оновити ключ","valid_until":"Діє до","use_contain_fit":"Не обрізати краї мініатюр","name":"Ім\'я","profile_fields":{"value":"Зміст","name":"Назва","add_field":"Додати поле","label":"Метадані профілю"},"play_videos_in_modal":"Відтворювати відео у спливаючій рамці","accent":"Акцент","chatMessageRadius":"Повідомлення в бесіді","notification_mutes":"Щоб перестати отримувати сповіщення від певного користувача, заглушіть його.","user_mutes":"Користувачі","no_mutes":"Заглушені відсутні","emoji_reactions_on_timeline":"Показувати реакції емоджі на стрічці","pad_emoji":"Автоматично додавати простір з обидвох сторін емоджі","allow_following_move":"Дозволити автостеження при переміщенні на інший інстанс","set_new_profile_background":"Встановити нову обкладинку профілю","radii_help":"Радіус заокруглення кутів інтерфейсу (в пікселях)","presets":"Переднабір","show_moderator_badge":"Показувати значок модератора в моєму профілі","show_admin_badge":"Показувати значок адміністратора в моєму профілі","hide_followers_description":"Не показувати хто підписаний на мене","hide_follows_description":"Не показувати на кого я підписаний","no_rich_text_description":"Видалення всього форматування тексту з усіх дописів","notification_visibility_emoji_reactions":"Реакції","notification_visibility_moves":"Міграція користувача","notification_visibility_repeats":"Поширення допису","notification_visibility_mentions":"Згадування","notification_visibility_likes":"Вподобайки","notification_visibility_follows":"Нові підписки","notification_visibility":"Отримувати сповіщення про наступні події","settings":"Налаштування","panelRadius":"Панелі","text":"Текст","tooltipRadius":"Підказки/попередження","values":{"true":"так","false":"ні"},"user_settings":"Користувацькі налаштування","upload_a_photo":"Завантажити фото","theme":"Тема","style":{"switcher":{"keep_fonts":"Залишити шрифти","keep_roundness":"Залишити скруглення","keep_opacity":"Залишити прозорості","keep_shadows":"Залишити тіні","keep_color":"Залишити кольори","use_source":"Нова версія","use_snapshot":"Стара версія","load_theme":"Завантажити тему","reset":"Скинути","clear_all":"Очистити все","help":{"older_version_imported":"Імпортований файл було створено в старішій версії FE.","future_version_imported":"Імпортований файл було створено в новішій версії FE.","v2_imported":"Файл, який ви імпортували, був створений для старішої версії інтерфейсу Pleroma. Ми намагаємось покращити сумісність, але все одно можуть бути розбіжності.","upgraded_from_v2":"PleromaFE було оновлено, тема може дещо відрізнятися від тієї, яку ви пам’ятаєте.","snapshot_source_mismatch":"Конфлікт версій: Швидше за все, FE повернуто до попередньої версії та оновлено знову, якщо ви змінили тему за допомогою старішої версії FE, швидше за все, ви хочете використовувати стару версію, інакше використовуйте нову версію.","migration_napshot_gone":"З якоїсь причини знімок зник, деякі речі можуть бути не такими, як ви пам’ятаєте.","migration_snapshot_ok":"Для безпеки, знімок теми завантажено. Ви можете спробувати завантажити дані теми.","fe_downgraded":"Версію PleromaFE змінено на старшу.","fe_upgraded":"Двигун теми PleromaFE оновлено.","snapshot_missing":"У файлі немає жодного знімка теми, тому він може виглядати інакше, ніж передбачалося спочатку.","snapshot_present":"Знімок теми завантажено, тому всі значення було перезаписано. Натомість ви можете завантажити правильні дані теми."},"keep_as_is":"Залишити як є","clear_opacity":"Очистити прозорість","save_load_hint":"Параметри \\"Зберегти\\" зберігають поточні параметри під час вибору або завантаження тем, вони також зберігають зазначені параметри під час експорту теми. Коли всі прапорці знято, експортування теми збереже все."},"common":{"color":"Колір","contrast":{"context":{"text":"для тексту","18pt":"для великого (18pt+) тексту"},"level":{"bad":"Не відповідає жодним вимогам щодо доступності","aaa":"відповідає вимогам рівня ААA (рекомендований)","aa":"відповідає вимогам рівня АА (мінімальний)"},"hint":"Рівень контрасту: {ratio}, {level} {context}"},"opacity":"Прозорість"},"preview":{"mono":"змісту","text":"Трохи більше {0} та {1}","button":"Кнопка","error":"Приклад помилки","content":"Зміст","header":"Попередній перегляд","link":"невеличке посилання","header_faint":"Це нормально","input":"Що нового?","checkbox":"Я переглянув умови використання","fine_print":"Прочитайте наш {0} аби нічого нового не дізнатись!","faint_link":"корисний підручник"},"shadows":{"components":{"button":"Кнопка","input":"Поле вводу","panel":"Панель","panelHeader":"Заголовок панелі","avatarStatus":"Аватар користувача (в стрічці)","avatar":"Аватар користувача (профіль)","buttonPressedHover":"Кнопка (натиснута + наведений курсор)","buttonPressed":"Кнопка (натиснута)","buttonHover":"Кнопка (при наведенні)","popup":"Спливаючі вікна та підказки","topBar":"Верхня панель"},"component":"Компонент","filter_hint":{"inset_classic":"Тіні спрямовані всередину використовуватимуть {0}","spread_zero":"Тіні з поширенням > 0 відображатимуться так, ніби було встановлено нуль","avatar_inset":"Зауважте, що використання як вставних, так і невставних тіней на аватарах може привести до непередбачуваних результатів із прозорими аватарами.","drop_shadow_syntax":"{0} не підтримує параметр {1} та ключове слово {2}.","always_drop_shadow":"Увага! Ця тінь завжди використовує {0}, якщо підтримується браузером."},"inset":"Всередину","blur":"Розмиття","shadow_id":"Тінь №{value}","override":"Перевизначити","_tab_label":"Тінь і підсвічування","hintV3":"Для тіней ви також можете використовувати позначення {0} для використання іншого кольорового слота.","spread":"Розмах"},"fonts":{"components":{"input":"Поля вводу","interface":"Інтерфейс","postCode":"Моноширинний текст в дописі (форматований текст)","post":"Текст допису"},"_tab_label":"Шрифти","size":"Розмір (в пікселях)","custom":"Нестандартний","weight":"Товщина","family":"Назва шрифту","help":"Виберіть шрифт для елементів інтерфейсу. Для \\"нестандартного\\" потрібно ввести точну назву шрифту, так як вона відображається в системі."},"advanced_colors":{"alert_warning":"Попередження","underlay":"Тло","inputs":"Поля входу","buttons":"Кнопки","borders":"Кордони","top_bar":"Верхня панель","panel_header":"Заголовок панелі","badge_notification":"Сповіщення","popover":"Підказки, меню, поповери","badge":"Тло значків","post":"Дописи/Дані користувачів","alert_neutral":"Нейтральний","alert_error":"Помилки","alert":"Фон сповіщень","_tab_label":"Додатково","selectedPost":"Вибраний допис","highlight":"Виділені елементи","poll":"Діаграма опитування","icons":"Іконки","faint_text":"Затемнений текст","chat":{"border":"Кайма","outgoing":"Вихідні повідомлення","incoming":"Вхідні повідомлення"},"toggled":"Переключено","disabled":"Вимкнено","selectedMenu":"Вибраний пункт меню","tabs":"Вкладки","pressed":"Натиснуто","wallpaper":"Шпалери"},"common_colors":{"rgbo":"Піктограми, акценти, значки","foreground_hint":"Перегляньте вкладку \\"Додатково\\" для більшого контролю","main":"Загальні кольори","_tab_label":"Загальні"},"radii":{"_tab_label":"Скруглення"}},"enable_web_push_notifications":"Увімкнути web push-сповіщення","notifications":"Сповіщення","fun":"Розваги","notification_setting_privacy":"Приватність","notification_setting_filters":"Фільтри","reset_avatar":"Скинути аватар","reset_profile_background":"Скинути обкладинку профілю","reset_avatar_confirm":"Ви дійсно хочете скинути аватар?","reset_profile_banner":"Скинули банер профілю","hide_follows_count_description":"Не показувати кількість підписників","reset_banner_confirm":"Ви дійсно хочете скинути банер?","reset_background_confirm":"Ви дійсно хочете скинути обкладинку?","subject_line_behavior":"Вигляд теми при відповіді","subject_input_always_show":"Завжди показувати поле для вводу теми","minimal_scopes_mode":"Мінімізувати набір варіантів осягу для допису","scope_copy":"Копіювати осяг при відповіді (завжди ввімкнено для особистих повідомлень)","search_user_to_mute":"Шукайте кого ви хочете заглушити","search_user_to_block":"Шукайте кого ви хочете заблокувати","autohide_floating_post_button":"Автоматично ховати кнопку \\"Новий допис\\" (в мобільній версії)","pause_on_unfocused":"Призупинити трансляцію, коли вкладка неактивна","hide_followers_count_description":"Не показувати кількість моїх підписників","notification_blocks":"Блокування користувача зупиняє всі сповіщення від нього, а також скасовує його відстеження.","notification_setting_hide_notification_contents":"Ховати відправника та вміст push-сповіщень","notification_setting_block_from_strangers":"Блокувати сповіщення від користувачів за якими ви не слідкуєте","type_domains_to_mute":"Пошук доменів для заглушення","nsfw_clickthrough":"Увімкнути приховування NSFW медіа","greentext":"Мемний текст","virtual_scrolling":"Оптимізувати оновлення стрічки","theme_help_v2_2":"Піктограми під деякими записами є показниками контрасту між фоном та текстом. Коли ви наведете на них курсор, ви отримаєте детальну інформацію. Пам\'ятайте, якщо ви використовуєте прозорість, індикатори показують найгірший варіант.","theme_help_v2_1":"Ви також можете замінити кольори та видимість окремих компонентів, перемикаючи прапорці, використовуйте \\"Очистити все\\", щоб видалити всі заміни.","theme_help":"Використовувати шістнадцяткові коди кольору (#rrggbb) щоб редагувати тему.","no_blocks":"Блокування відсутні","subject_line_mastodon":"Як в mastodon: просто скопіювати","subject_line_email":"Як в email: \\"re: тема\\"","useStreamingApiWarning":"(Не рекомендується, експериментально, повідомлення можуть зникати)","useStreamingApi":"Отримувати повідомлення та сповіщення в режимі реального часу","streaming":"Ввімкнути автоматичне завантаження нових повідомлень при прокручуванні вгору","stop_gifs":"Відтворювати GIF анімації тільки при наведенні","post_status_content_type":"Тип вмісту допису","subject_line_noop":"Не копіювати","version":{"frontend_version":"Версія фронтенду","backend_version":"Версія бекенду","title":"Версія"},"hide_wallpaper":"Сховати шпалери екземпляру","more_settings":"Більше налаштувань","sensitive_by_default":"Визначати допис як дратівливий за замовчуванням","reply_visibility_self_short":"Показувати відповіді лише мені","reply_visibility_following_short":"Показувати відповіді тим, на кого я підписаний","hide_all_muted_posts":"Приховати приглушені повідомлення","hide_media_previews":"Приховати попередній перегляд медіа","word_filter":"Фільтр слів","setting_changed":"Конфігурація відрізняється від типової","save":"Зберегти зміни","file_export_import":{"errors":{"file_slightly_new":"Другорядна версія файлу відрізняється, деякі налаштування можуть бути не прийняті","file_too_old":"Несумісна основна версія: {fileMajor}, версія файлу занадто стара і не підтримується (мінімальна версія налаштувань {feMajor})","file_too_new":"Несумісна основна версія: {fileMajor}, ця версія PleromaFE ({feMajor}) занадто стара для його обробки","invalid_file":"Вибраний файл не є резервною копією налаштувань Pleroma. Ніяких змін не було зроблено."},"restore_settings":"Відновити налаштування з файлу","backup_settings_theme":"Резервне копіювання налаштувань та теми у файл","backup_settings":"Резервне копіювання налаштувань у файл","backup_restore":"Резервне копіювання налаштувань"}},"selectable_list":{"select_all":"Вибрати все"},"remote_user_resolver":{"error":"Не знайдено.","searching_for":"Шукаю","remote_user_resolver":"Пошукова система для віддалених користувачів"},"registration":{"validations":{"password_confirmation_match":"пароль та підтвердження паролю мають бути однаковими","password_confirmation_required":"не може бути порожнім","password_required":"не може бути порожнім","email_required":"не може бути порожнім","fullname_required":"не може бути порожнім","username_required":"не може бути порожнім"},"bio_placeholder":"напр.\\nНаш народ завжди прагне волі для себе і бажає її для інших народів. Він боровся і бореться за правду і справедливість. Ми хочемо жити у згоді і взаємному шануванні з усіми народами доброї волі. Такі самі права визнаємо за іншими народами, за які боремося для себе.","fullname_placeholder":"напр. Степан Бандера","username_placeholder":"напр. stepan","new_captcha":"Натисніть на зображення, щоб оновити код, якщо він нерозбірливий","token":"Ключ запрошення","registration":"Реєстрація","password_confirm":"Підтвердження паролю","fullname":"Відображене ім\'я","email":"Ел. пошта","bio":"Про себе","captcha":"CAPTCHA","register":"Зареєструватися","reason_placeholder":"Цей інстанс обробляє запити на реєстрацію вручну.\\nРозкажіть адміністрації чому ви хочете зареєструватися.","reason":"Причина реєстрації"},"who_to_follow":{"who_to_follow":"На кого підписатися","more":"Більше"},"tool_tip":{"repeat":"Поширити","reply":"Відповісти","add_reaction":"Додати реакцію","user_settings":"Налаштування користувача","favorite":"Подобається","reject_follow_request":"Відхилити запит на підписку","accept_follow_request":"Прийняти запит на підписку","media_upload":"Завантажити медіа","bookmark":"Додати до закладок"},"upload":{"error":{"base":"Збій при завантаженні.","file_too_big":"Файл завеликий [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","default":"Спробуйте ще раз пізніше","message":"Помилка завантаження: {0}"},"file_size_units":{"TiB":"ТіБ","GiB":"ГіБ","MiB":"МіБ","KiB":"КіБ","B":"Б"}},"time":{"weeks_short":"{0}тижд.","week_short":"{0}тижд.","years_short":"{0}р","year_short":"{0}р","years":"{0} роки","year":"{0} рік","weeks":"{0} тижнів","week":"{0} тиждень","second_short":"{0}с","second":"{0} секунда","now_short":"щойно","now":"щойно","months_short":"{0}міс.","month_short":"{0}міс.","months":"{0} місяці","month":"{0} місяць","minutes_short":"{0}хв","hours_short":"{0}год","hour_short":"{0}год","day_short":"{0}д","minute_short":"{0}хв","minutes":"{0} хвилини","minute":"{0} хвилина","in_past":"{0} тому","hours":"{0} години","hour":"{0} година","days_short":"{0}д","days":"{0} дні","day":"{0} день","seconds_short":"{0}с","seconds":"{0} секунди","in_future":"через {0}"},"search":{"no_results":"Немає результатів","hashtags":"Хештеги","people":"Люди","people_talking":"{count} людей говорять про це","person_talking":"{count} особа говорить про це"},"user_card":{"statuses":"Дописи","message":"Повідомлення","follow":"Підписатись","follow_unfollow":"Відписатись","follow_again":"Відправити запит знову?","follow_sent":"Запит відправлено!","blocked":"Заблоковано!","admin_menu":{"activate_account":"Активувати обліковий запис","deactivate_account":"Деактивувати обліковий запис","delete_account":"Видалити обліковий запис","moderation":"Модерація","delete_user_confirmation":"Ви абсолютно впевнені? Цю дію неможливо буде скасовувати.","delete_user":"Видалити обліковий запис","strip_media":"Вилучити медіа з дописів користувача","force_nsfw":"Позначити всі дописи як NSFW","disable_any_subscription":"Взагалі заборонити підписку на користувача","disable_remote_subscription":"Заборонити підписуватись на користувачів з віддалених інстансів","sandbox":"Показувати дописи лише підписникам","force_unlisted":"Не показувати дописи в стрічці","revoke_moderator":"Позбавити прав модератора","grant_moderator":"Надати права модератора","revoke_admin":"Позбавити прав адміністратора","grant_admin":"Надати права адміністратора","quarantine":"Не розповсюджувати дописи на інших інстансах"},"deny":"Відмовити","block":"Заблокувати","approve":"Схвалити","mention":"Згадати","unsubscribe":"Відписатись","subscribe":"Підписатись","report":"Поскаржитись","per_day":"на день","favorites":"Вподобання","media":"Медіа","show_repeats":"Показати поширення","hide_repeats":"Приховати поширення","its_you":"Це ти!","follows_you":"Підписаний на вас!","followers":"Підписники","followees":"Підписаний(-а)","follow_progress":"Запитую…","mute_progress":"Глушимо…","unmute_progress":"Знімаємо глушення…","unmute":"Зняти глушення","hidden":"Приховано","following":"Підписаний!","block_progress":"Блокуємо…","unblock_progress":"Розблоковуємо…","unblock":"Розблокувати","remote_follow":"Підписатись","muted":"Заглушений","mute":"Заглушити","highlight":{"side":"Смужка ліворуч","striped":"Смугастий фон","solid":"Суцільний фон","disabled":"Не виділяти"},"bot":"Бот"},"status":{"copy_link":"Скопіювати посилання на допис","status_unavailable":"Допис недоступний","replies_list":"Відповіді:","delete_confirm":"Ви дійсно хочете видалити цей допис?","delete":"Видалити допис","pin":"Закріпити в профілі","status_deleted":"Цей допис був видалений","favorites":"Вподобане","hide_content":"Сховати вміст","show_content":"Показати вміст","hide_full_subject":"Сховати всю тему","show_full_subject":"Показати всю тему","thread_muted_and_words":", має слова:","mute_conversation":"Заглушити розмову","reply_to":"Відповідь","unbookmark":"Видалити із закладок","bookmark":"Додати до закладок","pinned":"Закріплено","unpin":"Відкріпити від профілю","repeats":"Поширення","nsfw":"Дратівливий вміст","thread_muted":"Нитка заглушена","unmute_conversation":"Припинити глушити розмову","external_source":"Зовнішнє джерело","expand":"Розгорнути"},"timeline":{"no_more_statuses":"Більше немає дописів","up_to_date":"Оновлено","reload":"Оновити","show_new":"Показати нові","load_older":"Завантажити давніші дописи","error":"Помилка завантаження стрічки: {0}","collapse":"Згорнути","conversation":"Розмова","no_statuses":"Ніяких статусів","repeated":"поширив(-ла)","no_retweet_hint":"Запис, позначено як \\"тільки для підписників\\" або \\"особисте\\" і тому не може бути поширений","socket_broke":"Втрачено з\'єднання у реальному часі: код {0}","socket_reconnected":"Встановлено з\'єднання у реальному часі"},"user_reporting":{"submit":"Відправити","forward_to":"Переслати до {0}","forward_description":"Цей обліковий запис належить іншому інстансу. Відправити їм копію скарги?","additional_comments":"Додаткове пояснення","add_comment_description":"Скарга буде надіслана модераторам вашого інстансу. Нижче Ви можете додати пояснення чому ви вирішили поскаржитись на цей обліковий запис:","title":"Поскаржитись на {0}","generic_error":"Виникла помилка під час обробки вашого запиту."},"user_profile":{"profile_loading_error":"Вибачте, під час завантаження цього профілю виникла помилка.","profile_does_not_exist":"Вибачте, цей профіль більше не існує.","timeline_title":"Стрічка користувача"}}')}}]); -//# sourceMappingURL=30.d29cd76b0781bb654f87.js.map \ No newline at end of file diff --git a/priv/static/static/js/30.d29cd76b0781bb654f87.js.map b/priv/static/static/js/30.d29cd76b0781bb654f87.js.map deleted file mode 100644 index dbf01dc8d..000000000 --- a/priv/static/static/js/30.d29cd76b0781bb654f87.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/30.d29cd76b0781bb654f87.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/31.15b545bb42e21d39c678.js b/priv/static/static/js/31.15b545bb42e21d39c678.js deleted file mode 100644 index 3c5d8089e..000000000 --- a/priv/static/static/js/31.15b545bb42e21d39c678.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{611:function(e){e.exports=JSON.parse('{"chat":{"title":"聊天"},"exporter":{"export":"导出","processing":"正在处理,稍后会提示您下载文件"},"features_panel":{"chat":"聊天","gopher":"Gopher","media_proxy":"媒体代理","scope_options":"可见范围设置","text_limit":"文字数量限制","title":"功能","who_to_follow":"推荐关注","pleroma_chat_messages":"Pleroma 聊天","upload_limit":"上传限制"},"finder":{"error_fetching_user":"获取用户时发生错误","find_user":"寻找用户"},"general":{"apply":"应用","submit":"提交","more":"更多","generic_error":"发生了一个错误","optional":"可选","show_more":"展开","show_less":"收起","cancel":"取消","disable":"禁用","enable":"启用","confirm":"确认","verify":"验证","dismiss":"忽略","peek":"预览","close":"关闭","retry":"重试","error_retry":"请重试","loading":"载入中…","role":{"moderator":"监察员","admin":"管理员"}},"image_cropper":{"crop_picture":"裁剪图片","save":"保存","save_without_cropping":"保存未经裁剪的图片","cancel":"取消"},"importer":{"submit":"提交","success":"导入成功。","error":"导入此文件时出现一个错误。"},"login":{"login":"登录","description":"用 OAuth 登录","logout":"登出","password":"密码","placeholder":"例如:lain","register":"注册","username":"用户名","hint":"登录后加入讨论","authentication_code":"验证码","enter_recovery_code":"输入一个恢复码","enter_two_factor_code":"输入一个双重因素验证码","recovery_code":"恢复码","heading":{"totp":"双重因素验证","recovery":"双重因素恢复"}},"media_modal":{"previous":"往前","next":"往后"},"nav":{"about":"关于","back":"后退","chat":"本站聊天","friend_requests":"关注请求","mentions":"提及","interactions":"互动","dms":"私信","public_tl":"公共时间线","timeline":"时间线","twkn":"已知网络","user_search":"用户搜索","search":"搜索","who_to_follow":"推荐关注","preferences":"偏好设置","administration":"管理员","chats":"聊天","timelines":"时间线","bookmarks":"书签","home_timeline":"主页时间线"},"notifications":{"broken_favorite":"未知的状态,正在搜索中…","favorited_you":"喜欢了你的状态","followed_you":"关注了你","load_older":"加载更早的通知","notifications":"通知","read":"已阅!","repeated_you":"转发了你的状态","no_more_notifications":"没有更多的通知","reacted_with":"作出了 {0} 的反应","migrated_to":"迁移到了","follow_request":"想要关注你","error":"取得通知时发生错误:{0}"},"polls":{"add_poll":"增加投票","add_option":"增加选项","option":"选项","votes":"投票","vote":"投票","type":"投票类型","single_choice":"单选","multiple_choices":"多选","expiry":"投票期限","expires_in":"投票于 {0} 后结束","expired":"投票 {0} 前已结束","not_enough_options":"投票的选项太少","votes_count":"{count} 票 | {count} 票","people_voted_count":"{count} 人已投票 | {count} 人已投票"},"stickers":{"add_sticker":"添加贴纸"},"interactions":{"favs_repeats":"转发和喜欢","follows":"新的关注者","load_older":"加载更早的互动","moves":"用户迁移"},"post_status":{"new_status":"发布新状态","account_not_locked_warning":"你的帐号没有 {0}。任何人都可以关注你并浏览你的上锁内容。","account_not_locked_warning_link":"上锁","attachments_sensitive":"标记附件为敏感内容","content_type":{"text/plain":"纯文本","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},"content_warning":"主题(可选)","default":"刚刚抵达上海。","direct_warning_to_all":"本条内容只有被提及的用户能够看到。","direct_warning_to_first_only":"本条内容只有被在消息开始处提及的用户能够看到。","posting":"发送中","scope_notice":{"public":"本条内容可以被所有人看到","private":"关注你的人才能看到本条内容","unlisted":"本条内容既不在公共时间线,也不会在所有已知网络上可见"},"scope":{"direct":"私信 - 只发送给被提及的用户","private":"仅关注者 - 只有关注了你的人能看到","public":"公共 - 发送到公共时间轴","unlisted":"不公开 - 不会发送到公共时间轴"},"preview_empty":"空的","preview":"预览","media_description":"媒体描述","media_description_error":"更新媒体失败,请重试","empty_status_error":"不能发布没有内容、没有附件的发文","post":"发送"},"registration":{"bio":"简介","email":"电子邮箱","fullname":"显示名称","password_confirm":"确认密码","registration":"注册","token":"邀请码","captcha":"CAPTCHA","new_captcha":"点击图片获取新的验证码","username_placeholder":"例如:lain","fullname_placeholder":"例如:岩仓玲音","bio_placeholder":"例如:\\n你好,我是玲音。\\n我是一个住在日本郊区的动画少女。你可能在 Wired 见过我。","validations":{"username_required":"不能留空","fullname_required":"不能留空","email_required":"不能留空","password_required":"不能留空","password_confirmation_required":"不能留空","password_confirmation_match":"密码不一致"},"reason_placeholder":"此实例的注册需要手动批准。\\n请让管理员知道您为什么想要注册。","reason":"注册理由","register":"注册"},"selectable_list":{"select_all":"选择全部"},"settings":{"app_name":"App 名称","security":"安全","enter_current_password_to_confirm":"输入您当前的密码来确认您的身份","mfa":{"otp":"OTP","setup_otp":"设置 OTP","wait_pre_setup_otp":"预设 OTP","confirm_and_enable":"确认并启用 OTP","title":"双因素验证","generate_new_recovery_codes":"生成新的恢复码","warning_of_generate_new_codes":"当您生成新的恢复码时,您旧的恢复码将会失效。","recovery_codes":"恢复码。","waiting_a_recovery_codes":"正在接收备份码…","recovery_codes_warning":"抄写这些号码,或者将其保存在安全的地方。这些号码不会再次显示。如果您无法访问您的 2FA app,也丢失了您的恢复码,您就再也无法登录您的账号了。","authentication_methods":"身份验证方法","scan":{"title":"扫一下","desc":"使用您的双因素验证 app,扫描这个二维码,或者输入这些文字密钥:","secret_code":"密钥"},"verify":{"desc":"要启用双因素验证,请输入您的双因素验证 app 里的数字:"}},"attachmentRadius":"附件","attachments":"附件","avatar":"头像","avatarAltRadius":"头像(通知)","avatarRadius":"头像","background":"背景","bio":"简介","block_export":"屏蔽名单导出","block_export_button":"导出你的屏蔽名单到一个 csv 文件","block_import":"屏蔽名单导入","block_import_error":"导入屏蔽名单出错","blocks_imported":"屏蔽名单导入成功!需要一点时间来处理。","blocks_tab":"屏蔽","btnRadius":"按钮","cBlue":"蓝色(回复,关注)","cGreen":"绿色(转发)","cOrange":"橙色(喜欢)","cRed":"红色(取消)","change_password":"修改密码","change_password_error":"修改密码的时候出了点问题。","changed_password":"成功修改了密码!","collapse_subject":"折叠带主题的内容","composing":"写作","confirm_new_password":"确认新密码","current_avatar":"当前头像","current_password":"当前密码","current_profile_banner":"您当前的横幅图片","data_import_export_tab":"数据导入/导出","default_vis":"默认可见范围","delete_account":"删除账户","delete_account_description":"永久删除你的帐号和所有数据。","delete_account_error":"删除账户时发生错误,如果一直删除不了,请联系实例管理员。","delete_account_instructions":"在下面输入您的密码来确认删除账户。","avatar_size_instruction":"推荐的头像图片最小尺寸为 150x150 像素。","export_theme":"导出预置主题","filtering":"过滤器","filtering_explanation":"所有包含以下词汇的内容都会被隐藏,一行一个","follow_export":"导出关注","follow_export_button":"将关注导出成 csv 文件","follow_import":"导入关注","follow_import_error":"导入关注时错误","follows_imported":"关注已导入!尚需要一些时间来处理。","foreground":"前景","general":"通用","hide_attachments_in_convo":"在对话中隐藏附件","hide_attachments_in_tl":"在时间线上隐藏附件","hide_muted_posts":"不显示被隐藏的用户的帖子","max_thumbnails":"每个帖子最多能显示的缩略图数量","hide_isp":"隐藏实例独有的面板","preload_images":"预载图片","use_one_click_nsfw":"点击一次以打开工作场所不适宜(NSFW)的附件","hide_post_stats":"隐藏帖子的统计数据(例如:喜欢的次数)","hide_user_stats":"隐藏用户的统计数据(例如:关注者的数量)","hide_filtered_statuses":"隐藏过滤的状态","import_blocks_from_a_csv_file":"从 csv 文件中导入拉黑名单","import_followers_from_a_csv_file":"从 csv 文件中导入关注","import_theme":"导入预置主题","inputRadius":"输入框","checkboxRadius":"复选框","instance_default":"(默认:{value})","instance_default_simple":"(默认)","interface":"界面","interfaceLanguage":"界面语言","invalid_theme_imported":"您所选择的主题文件不被 Pleroma 支持,因此主题未被修改。","limited_availability":"在您的浏览器中无法使用","links":"链接","lock_account_description":"您需要手动审核关注请求","loop_video":"循环视频","loop_video_silent_only":"只循环没有声音的视频(例如:Mastodon 里的“GIF”)","mutes_tab":"隐藏","play_videos_in_modal":"在弹出框内播放视频","use_contain_fit":"生成缩略图时不要裁剪附件","name":"名字","name_bio":"名字及简介","new_password":"新密码","notification_visibility":"要显示的通知类型","notification_visibility_follows":"关注","notification_visibility_likes":"喜欢","notification_visibility_mentions":"提及","notification_visibility_repeats":"转发","no_rich_text_description":"不显示富文本格式","no_blocks":"没有屏蔽","no_mutes":"没有隐藏","hide_follows_description":"不要显示我所关注的人","hide_followers_description":"不要显示关注我的人","show_admin_badge":"在我的个人资料中显示“管理员”徽章","show_moderator_badge":"在我的个人资料中显示“监察员”徽章","nsfw_clickthrough":"将不和谐附件和链接预览隐藏,点击才会显示","oauth_tokens":"OAuth令牌","token":"令牌","refresh_token":"刷新令牌","valid_until":"有效期至","revoke_token":"撤消","panelRadius":"面板","pause_on_unfocused":"在离开页面时暂停时间线推送","presets":"预置","profile_background":"个人背景图","profile_banner":"横幅图片","profile_tab":"个人资料","radii_help":"设置界面边缘的圆角 (单位:像素)","replies_in_timeline":"时间线中的回复","reply_visibility_all":"显示所有回复","reply_visibility_following":"只显示发送给我的回复/发送给我关注的用户的回复","reply_visibility_self":"只显示发送给我的回复","autohide_floating_post_button":"自动隐藏新帖子的按钮(移动设备)","saving_err":"保存设置时发生错误","saving_ok":"设置已保存","search_user_to_block":"搜索你想屏蔽的用户","search_user_to_mute":"搜索你想要隐藏的用户","security_tab":"安全","scope_copy":"回复时复制可见范围(私信中永远会复制)","minimal_scopes_mode":"使发文可见范围的选项最少化","set_new_avatar":"设置新头像","set_new_profile_background":"设置新的个人资料背景","set_new_profile_banner":"设置新的横幅图片","settings":"设置","subject_input_always_show":"总是显示主题框","subject_line_behavior":"回复时复制主题","subject_line_email":"类似电子邮件: \\"re: 主题\\"","subject_line_mastodon":"类似 mastodon: 与原主题相同","subject_line_noop":"不要复制","post_status_content_type":"发文状态内容类型","stop_gifs":"鼠标悬停时播放GIF","streaming":"滚动到顶部时自动推送新内容","text":"文本","theme":"主题","theme_help":"使用十六进制代码(#rrggbb)来设置主题颜色。","theme_help_v2_1":"您也可以通过选中复选框来覆盖某些组件的颜色和透明度。使用“清除所有”按钮来清除所有覆盖设置。","theme_help_v2_2":"某些条目下的图标是背景或文本对比指示器,鼠标悬停可以获取详细信息。请记住,使用透明度来显示最差的情况。","tooltipRadius":"提醒","upload_a_photo":"上传照片","user_settings":"用户设置","values":{"false":"否","true":"是"},"notifications":"通知","notification_mutes":"要停止收到某个指定的用户的通知,请使用隐藏功能。","notification_blocks":"屏蔽一个用户会停止接收来自该用户的所有通知,并且会取消对该用户的关注。","enable_web_push_notifications":"启用 web 推送通知","style":{"switcher":{"keep_color":"保留颜色","keep_shadows":"保留阴影","keep_opacity":"保留透明度","keep_roundness":"保留圆角","keep_fonts":"保留字体","save_load_hint":"\\"保留\\" 选项在选择或加载主题时保留当前设置的选项,在导出主题时还会存储上述选项。当所有复选框未设置时,导出主题将保存所有内容。","reset":"重置","clear_all":"清除全部","clear_opacity":"清除透明度","load_theme":"加载主题","help":{"upgraded_from_v2":"PleromaFE 已升级,主题会与您记忆中的不太一样。","older_version_imported":"您导入的文件来自旧版本的 FE。","future_version_imported":"您导入的文件来自更高版本的 FE。","v2_imported":"您导入的文件是旧版 FE 的。我们尽可能保持兼容性,但还是可能出现不一致的情况。","snapshot_source_mismatch":"版本冲突:很有可能是 FE 版本回滚后再次升级了,如果您使用旧版本的 FE 更改了主题那么您可能需要使用旧版本,否则请使用新版本。","migration_napshot_gone":"不知出于何种原因,主题快照缺失了,一些地方可能与您印象中的不符。","migration_snapshot_ok":"为保万无一失,加载了主题快照。您可以试着加载主题数据。","fe_downgraded":"PleromaFE 的版本回滚了。","fe_upgraded":"PleromaFE 的主题引擎随着版本更新升级了。","snapshot_missing":"在文件中没有主题快照,所以网站外观可能会与原来预想的不同。","snapshot_present":"主题快照已加载,因此所有的值均被覆盖。您可以改为加载主题的实际数据。"},"use_source":"新版本","use_snapshot":"老版本","keep_as_is":"保持原状"},"common":{"color":"颜色","opacity":"透明度","contrast":{"hint":"对比度是 {ratio}, 它 {level} {context}","level":{"aa":"符合 AA 等级准则(最低)","aaa":"符合 AAA 等级准则(推荐)","bad":"不符合任何辅助功能指南"},"context":{"18pt":"大字文本 (18pt+)","text":"文本"}}},"common_colors":{"_tab_label":"常规","main":"常用颜色","foreground_hint":"点击”高级“ 标签进行细致的控制","rgbo":"图标,强调,徽章"},"advanced_colors":{"_tab_label":"高级","alert":"提醒或警告背景色","alert_error":"错误","badge":"徽章背景","badge_notification":"通知","panel_header":"面板标题","top_bar":"顶栏","borders":"边框","buttons":"按钮","inputs":"输入框","faint_text":"灰度文字","chat":{"border":"边框","outgoing":"发出的","incoming":"收到的"},"disabled":"禁用的","pressed":"压下的","highlight":"强调元素","selectedMenu":"选中的菜单项","selectedPost":"选中的发布内容","icons":"图标","poll":"投票统计图","popover":"提示框,菜单,弹出框","post":"发布内容/用户简介","alert_neutral":"中性","alert_warning":"警告","tabs":"标签页","underlay":"底衬","toggled":"按下的","wallpaper":"壁纸"},"radii":{"_tab_label":"圆角"},"shadows":{"_tab_label":"阴影和照明","component":"组件","override":"覆盖","shadow_id":"阴影 #{value}","blur":"模糊","spread":"扩散","inset":"内阴影","hint":"对于阴影你还可以使用 --variable 作为颜色值来使用 CSS3 变量。请注意,这种情况下,透明设置将不起作用。","filter_hint":{"always_drop_shadow":"警告,此阴影设置会总是使用 {0} ,如果浏览器支持的话。","drop_shadow_syntax":"{0} 不支持参数 {1} 和关键词 {2} 。","avatar_inset":"请注意组合两个内部和非内部的阴影到头像上,在透明头像上可能会有意料之外的效果。","spread_zero":"阴影的扩散 > 0 会同设置成零一样","inset_classic":"内阴影会使用 {0}"},"components":{"panel":"面板","panelHeader":"面板标题","topBar":"顶栏","avatar":"用户头像(在个人资料栏)","avatarStatus":"用户头像(在帖子显示栏)","popup":"弹窗与工具提示","button":"按钮","buttonHover":"按钮(悬停)","buttonPressed":"按钮(压下)","buttonPressedHover":"按钮(压下和悬停)","input":"输入框"},"hintV3":"对于阴影,您还可以使用 {0} 表示法来使用其它颜色插槽。"},"fonts":{"_tab_label":"字体","help":"为用户界面的元素选择字体。若选择 “自选”,您必须输入与系统显示完全一致的字体名称。","components":{"interface":"界面","input":"输入框","post":"发帖文字","postCode":"帖子中使用等间距文字(富文本)"},"family":"字体名称","size":"大小 (in px)","weight":"字重 (粗体)","custom":"自选"},"preview":{"header":"预览","content":"内容","error":"错误示例","button":"按钮","text":"有堆 {0} 和 {1}","mono":"monospace 内容","input":"刚刚抵达上海。","faint_link":"帮助手册","fine_print":"阅读我们的 {0} ,然而什么也学不到!","header_faint":"这很正常","checkbox":"我已经浏览了条款及细则","link":"一个棒棒的小小链接"}},"version":{"title":"版本","backend_version":"后端版本","frontend_version":"前端版本"},"notification_setting_filters":"过滤器","domain_mutes":"域名","changed_email":"邮箱修改成功!","change_email_error":"修改您的电子邮箱时发生错误。","change_email":"修改电子邮箱","allow_following_move":"正在关注的账号迁移时自动重新关注","notification_setting_privacy_option":"在通知推送中隐藏发送者和内容","notification_setting_privacy":"隐私","hide_follows_count_description":"不显示关注数","notification_visibility_emoji_reactions":"互动","notification_visibility_moves":"用户迁移","new_email":"新邮箱","emoji_reactions_on_timeline":"在时间线上显示表情符号互动","notification_setting_hide_notification_contents":"隐藏推送通知中的发送者与内容信息","notification_setting_block_from_strangers":"屏蔽来自你没有关注的用户的通知","type_domains_to_mute":"搜索需要隐藏的域名","useStreamingApi":"实时接收帖子和通知","user_mutes":"用户","reset_background_confirm":"您确定要重置背景图吗?","reset_banner_confirm":"您确定要重置横幅图片吗?","reset_avatar_confirm":"您确定要重置头像吗?","reset_profile_banner":"重置横幅图片","reset_profile_background":"重置个人背景图","reset_avatar":"重置头像","hide_followers_count_description":"不显示关注者数量","profile_fields":{"value":"内容","name":"标签","add_field":"添加字段","label":"个人资料元数据"},"accent":"强调色","pad_emoji":"从表情符号选择器插入表情符号时,在表情两侧插入空格","discoverable":"允许通过搜索检索等服务找到此账号","mutes_and_blocks":"隐藏与屏蔽","bot":"这是一个机器人账号","fun":"趣味","useStreamingApiWarning":"(不推荐使用,试验性,已知会跳过一些帖子)","chatMessageRadius":"聊天消息","greentext":"Meme 箭头","virtual_scrolling":"优化时间线渲染","import_mutes_from_a_csv_file":"从 csv 文件导入隐藏名单","mutes_imported":"隐藏名单导入成功!处理它们将需要一段时间。","mute_import_error":"导入隐藏名单出错","mute_import":"隐藏名单导入","mute_export_button":"导出你的隐藏名单到一个 csv 文件","mute_export":"隐藏名单导出","hide_wallpaper":"隐藏实例壁纸","setting_changed":"与默认设置不同","more_settings":"更多设置","sensitive_by_default":"默认标记发文为敏感内容","reply_visibility_self_short":"只显示对我本人的回复","reply_visibility_following_short":"显示对我关注的人的回复","hide_all_muted_posts":"不显示已隐藏的发文","hide_media_previews":"隐藏媒体预览","word_filter":"词语过滤","save":"保存更改","file_export_import":{"errors":{"file_slightly_new":"文件的小版本不同,有些设置可能无法加载","file_too_old":"不兼容的主版本:{fileMajor},文件版本过旧,不受支持(最小设置版本 {feMajor})","file_too_new":"不兼容的主版本:{fileMajor},此 PleromaFE(设置版本 {feMajor})过旧,无法处理","invalid_file":"所选文件不是受支持的 Pleroma 设置备份。没有进行任何更改。"},"restore_settings":"从文件恢复设置","backup_settings_theme":"备份设置和主题到文件","backup_settings":"备份设置到文件","backup_restore":"设置备份"}},"time":{"day":"{0} 天","days":"{0} 天","day_short":"{0}d","days_short":"{0}d","hour":"{0} 小时","hours":"{0} 小时","hour_short":"{0}h","hours_short":"{0}h","in_future":"还有 {0}","in_past":"{0} 之前","minute":"{0} 分钟","minutes":"{0} 分钟","minute_short":"{0}min","minutes_short":"{0}min","month":"{0} 月","months":"{0} 月","month_short":"{0}mo","months_short":"{0}mo","now":"刚刚","now_short":"刚刚","second":"{0} 秒","seconds":"{0} 秒","second_short":"{0}s","seconds_short":"{0}s","week":"{0} 周","weeks":"{0} 周","week_short":"{0}w","weeks_short":"{0}w","year":"{0} 年","years":"{0} 年","year_short":"{0}y","years_short":"{0}y"},"timeline":{"collapse":"折叠","conversation":"对话","error_fetching":"获取更新时发生错误","load_older":"加载更早的状态","no_retweet_hint":"这条内容仅关注者可见,或者是私信,因此不能转发","repeated":"转发了","show_new":"显示新内容","up_to_date":"已是最新","no_more_statuses":"没有更多的状态","no_statuses":"没有状态更新","reload":"重新载入","error":"取得时间轴时发生错误:{0}","socket_broke":"丢失实时连接:CloseEvent code {0}","socket_reconnected":"已建立实时连接"},"status":{"favorites":"喜欢","repeats":"转发","delete":"删除状态","pin":"在个人资料置顶","unpin":"取消在个人资料置顶","pinned":"置顶","delete_confirm":"你真的想要删除这条状态吗?","reply_to":"回复","replies_list":"回复:","mute_conversation":"隐藏对话","unmute_conversation":"对话取消隐藏","hide_content":"隐藏内容","show_content":"显示内容","hide_full_subject":"隐藏此部分标题","show_full_subject":"显示全部标题","thread_muted":"此系列消息已被隐藏","copy_link":"复制状态链接","status_unavailable":"状态不可取得","unbookmark":"取消书签","bookmark":"书签","thread_muted_and_words":",含有过滤词:","status_deleted":"该状态已被删除","nsfw":"NSFW","external_source":"外部来源","expand":"展开"},"user_card":{"approve":"核准","block":"屏蔽","blocked":"已屏蔽!","deny":"拒绝","favorites":"喜欢","follow":"关注","follow_sent":"请求已发送!","follow_progress":"请求中…","follow_again":"再次发送请求?","follow_unfollow":"取消关注","followees":"正在关注","followers":"关注者","following":"正在关注!","follows_you":"关注了你!","its_you":"就是你!","media":"媒体","mute":"隐藏","muted":"已隐藏","per_day":"每天","remote_follow":"跨站关注","report":"报告","statuses":"状态","subscribe":"订阅","unsubscribe":"退订","unblock":"取消屏蔽","unblock_progress":"正在取消屏蔽…","block_progress":"正在屏蔽…","unmute":"取消隐藏","unmute_progress":"取消隐藏中…","mute_progress":"隐藏中…","admin_menu":{"moderation":"仲裁","grant_admin":"赋予管理权限","revoke_admin":"撤销管理权限","grant_moderator":"赋予监察员权限","revoke_moderator":"撤销监察员权限","activate_account":"激活账号","deactivate_account":"关闭账号","delete_account":"删除账号","force_nsfw":"标记所有的帖子都是 - 工作场合不适","strip_media":"从帖子里删除媒体文件","force_unlisted":"强制帖子为不公开","sandbox":"强制帖子为只有关注者可看","disable_remote_subscription":"禁止从远程实例关注用户","disable_any_subscription":"完全禁止关注用户","quarantine":"从联合实例中禁止用户帖子","delete_user":"删除用户","delete_user_confirmation":"你确定吗?此操作无法撤销。"},"hidden":"已隐藏","show_repeats":"显示转发","hide_repeats":"隐藏转发","message":"消息","mention":"提及","bot":"机器人","highlight":{"side":"侧边条纹","striped":"条纹背景","solid":"单一颜色背景","disabled":"不突出显示"}},"user_profile":{"timeline_title":"用户时间线","profile_does_not_exist":"抱歉,此个人资料不存在。","profile_loading_error":"抱歉,载入个人资料时出错。"},"user_reporting":{"title":"报告 {0}","add_comment_description":"此报告会发送给您的实例监察员。您可以在下面提供更多详细信息解释报告的缘由:","additional_comments":"其它信息","forward_description":"这个账号来自另一个服务器。是否同时发送一份报告副本到那里?","forward_to":"转发 {0}","submit":"提交","generic_error":"当处理您的请求时,发生了一个错误。"},"who_to_follow":{"more":"更多","who_to_follow":"推荐关注"},"tool_tip":{"media_upload":"上传媒体","repeat":"转发","reply":"回复","favorite":"喜欢","user_settings":"用户设置","reject_follow_request":"拒绝关注请求","add_reaction":"添加互动","bookmark":"书签","accept_follow_request":"接受关注请求"},"upload":{"error":{"base":"上传不成功。","file_too_big":"文件太大了 [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","default":"迟些再试","message":"上传错误:{0}"},"file_size_units":{"B":"B","KiB":"KiB","MiB":"MiB","GiB":"GiB","TiB":"TiB"}},"search":{"people":"人","hashtags":"话题标签","person_talking":"{count} 人正在讨论","people_talking":"{count} 人正在讨论","no_results":"没有搜索结果"},"password_reset":{"forgot_password":"忘记密码了?","password_reset":"重置密码","instruction":"输入您的电邮地址或者用户名,我们将发送一个链接到您的邮箱,用于重置密码。","placeholder":"您的电邮地址或者用户名","check_email":"检查您的邮箱,会有一个链接用于重置密码。","return_home":"回到首页","too_many_requests":"您达到了尝试次数的上限,请稍后再试。","password_reset_disabled":"密码重置已被禁用。请联系您的实例管理员。","password_reset_required_but_mailer_is_disabled":"您必须重置密码,但是密码重置被禁用了。请联系您所在实例的管理员。","password_reset_required":"您必须重置密码才能登陆。"},"remote_user_resolver":{"error":"未找到。","searching_for":"搜索","remote_user_resolver":"远程用户解析器"},"emoji":{"keep_open":"选择器保持打开","stickers":"贴纸","unicode":"Unicode 表情符号","custom":"自定义表情符号","add_emoji":"插入表情符号","search_emoji":"搜索表情符号","emoji":"表情符号","load_all":"加载所有表情符号(共 {emojiAmount} 个)","load_all_hint":"最先加载的 {saneAmount} 表情符号,加载全部表情符号可能会带来性能问题。"},"about":{"mrf":{"simple":{"quarantine_desc":"本实例向以下实例仅发送公开的帖子:","quarantine":"隔离","reject_desc":"本实例不会接收来自下列实例的消息:","reject":"拒绝","accept_desc":"本实例只接收来自下列实例的消息:","simple_policies":"对于特定实例的策略","accept":"接受","media_removal":"移除媒体","media_nsfw_desc":"本实例将来自以下实例的媒体内容强制设置为敏感内容:","media_nsfw":"强制设置媒体为敏感内容","media_removal_desc":"本实例移除来自以下实例的媒体内容:","ftl_removal_desc":"该实例在从“已知网络”时间线上移除了下列实例:","ftl_removal":"从“已知网络”时间线上移除"},"mrf_policies_desc":"MRF 策略会影响本实例的互通行为。以下策略已启用:","mrf_policies":"已启用的 MRF 策略","keyword":{"ftl_removal":"从“全部已知网络”时间线上移除","keyword_policies":"关键词策略","is_replaced_by":"→","replace":"替换","reject":"拒绝"},"federation":"联邦互通"},"staff":"管理人员"},"domain_mute_card":{"unmute_progress":"正在取消隐藏…","unmute":"取消隐藏","mute_progress":"隐藏中…","mute":"隐藏"},"errors":{"storage_unavailable":"Pleroma 无法访问浏览器储存。您的登陆以及本地设置将不会被保存,您也可能遇到未知问题。请尝试启用 cookies。"},"shoutbox":{"title":"留言板"},"display_date":{"today":"今天"},"file_type":{"file":"文件","image":"图片","video":"视频","audio":"音频"},"chats":{"empty_chat_list_placeholder":"您还没有任何聊天记录。开始聊天吧!","error_sending_message":"发送消息时出了点问题。","error_loading_chat":"加载聊天时出了点问题。","delete_confirm":"您确实要删除此消息吗?","more":"更多","empty_message_error":"无法发布空消息","new":"新聊天","chats":"聊天","delete":"删除","message_user":"发消息给 {nickname}","you":"你:"}}')}}]); -//# sourceMappingURL=31.15b545bb42e21d39c678.js.map \ No newline at end of file diff --git a/priv/static/static/js/31.15b545bb42e21d39c678.js.map b/priv/static/static/js/31.15b545bb42e21d39c678.js.map deleted file mode 100644 index b56a26768..000000000 --- a/priv/static/static/js/31.15b545bb42e21d39c678.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/31.15b545bb42e21d39c678.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/31.226f7a848d733df38095.js b/priv/static/static/js/31.226f7a848d733df38095.js new file mode 100644 index 000000000..48131f952 --- /dev/null +++ b/priv/static/static/js/31.226f7a848d733df38095.js @@ -0,0 +1,2 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[31],{624:function(e){e.exports=JSON.parse('{"chat":{"title":"聊天"},"exporter":{"export":"导出","processing":"正在处理,稍后会提示您下载文件"},"features_panel":{"chat":"聊天","gopher":"Gopher","media_proxy":"媒体代理","scope_options":"可见范围设置","text_limit":"文字数量限制","title":"功能","who_to_follow":"推荐关注","pleroma_chat_messages":"Pleroma 聊天","upload_limit":"上传限制"},"finder":{"error_fetching_user":"获取用户时发生错误","find_user":"寻找用户"},"general":{"apply":"应用","submit":"提交","more":"更多","generic_error":"发生了一个错误","optional":"可选","show_more":"展开","show_less":"收起","cancel":"取消","disable":"禁用","enable":"启用","confirm":"确认","verify":"验证","dismiss":"忽略","peek":"预览","close":"关闭","retry":"重试","error_retry":"请重试","loading":"载入中…","role":{"moderator":"监察员","admin":"管理员"},"flash_content":"点击以使用 Ruffle 显示 Flash 内容(实验性,可能无效)。","flash_security":"注意这可能有潜在的危险,因为 Flash 内容仍然是任意的代码。","flash_fail":"Flash 内容加载失败,请在控制台查看详情。"},"image_cropper":{"crop_picture":"裁剪图片","save":"保存","save_without_cropping":"保存未经裁剪的图片","cancel":"取消"},"importer":{"submit":"提交","success":"导入成功。","error":"导入此文件时出现一个错误。"},"login":{"login":"登录","description":"用 OAuth 登录","logout":"登出","password":"密码","placeholder":"例如:lain","register":"注册","username":"用户名","hint":"登录后加入讨论","authentication_code":"验证码","enter_recovery_code":"输入一个恢复码","enter_two_factor_code":"输入一个双重因素验证码","recovery_code":"恢复码","heading":{"totp":"双重因素验证","recovery":"双重因素恢复"}},"media_modal":{"previous":"往前","next":"往后"},"nav":{"about":"关于","back":"后退","chat":"本站聊天","friend_requests":"关注请求","mentions":"提及","interactions":"互动","dms":"私信","public_tl":"公共时间线","timeline":"时间线","twkn":"已知网络","user_search":"用户搜索","search":"搜索","who_to_follow":"推荐关注","preferences":"偏好设置","administration":"管理员","chats":"聊天","timelines":"时间线","bookmarks":"书签","home_timeline":"主页时间线"},"notifications":{"broken_favorite":"未知的状态,正在搜索中…","favorited_you":"喜欢了你的状态","followed_you":"关注了你","load_older":"加载更早的通知","notifications":"通知","read":"已阅!","repeated_you":"转发了你的状态","no_more_notifications":"没有更多的通知","reacted_with":"作出了 {0} 的反应","migrated_to":"迁移到了","follow_request":"想要关注你","error":"取得通知时发生错误:{0}"},"polls":{"add_poll":"增加投票","add_option":"增加选项","option":"选项","votes":"投票","vote":"投票","type":"投票类型","single_choice":"单选","multiple_choices":"多选","expiry":"投票期限","expires_in":"投票于 {0} 后结束","expired":"投票 {0} 前已结束","not_enough_options":"投票的选项太少","votes_count":"{count} 票 | {count} 票","people_voted_count":"{count} 人已投票 | {count} 人已投票"},"stickers":{"add_sticker":"添加贴纸"},"interactions":{"favs_repeats":"转发和喜欢","follows":"新的关注者","load_older":"加载更早的互动","moves":"用户迁移"},"post_status":{"new_status":"发布新状态","account_not_locked_warning":"你的帐号没有 {0}。任何人都可以关注你并浏览你的上锁内容。","account_not_locked_warning_link":"上锁","attachments_sensitive":"标记附件为敏感内容","content_type":{"text/plain":"纯文本","text/html":"HTML","text/markdown":"Markdown","text/bbcode":"BBCode"},"content_warning":"主题(可选)","default":"刚刚抵达上海。","direct_warning_to_all":"本条内容只有被提及的用户能够看到。","direct_warning_to_first_only":"本条内容只有被在消息开始处提及的用户能够看到。","posting":"发送中","scope_notice":{"public":"本条内容可以被所有人看到","private":"关注你的人才能看到本条内容","unlisted":"本条内容既不在公共时间线,也不会在所有已知网络上可见"},"scope":{"direct":"私信 - 只发送给被提及的用户","private":"仅关注者 - 只有关注了你的人能看到","public":"公共 - 发送到公共时间轴","unlisted":"不公开 - 不会发送到公共时间轴"},"preview_empty":"空的","preview":"预览","media_description":"媒体描述","media_description_error":"更新媒体失败,请重试","empty_status_error":"不能发布没有内容、没有附件的发文","post":"发送"},"registration":{"bio":"简介","email":"电子邮箱","fullname":"显示名称","password_confirm":"确认密码","registration":"注册","token":"邀请码","captcha":"CAPTCHA","new_captcha":"点击图片获取新的验证码","username_placeholder":"例如:lain","fullname_placeholder":"例如:岩仓玲音","bio_placeholder":"例如:\\n你好,我是玲音。\\n我是一个住在日本郊区的动画少女。你可能在 Wired 见过我。","validations":{"username_required":"不能留空","fullname_required":"不能留空","email_required":"不能留空","password_required":"不能留空","password_confirmation_required":"不能留空","password_confirmation_match":"密码不一致"},"reason_placeholder":"此实例的注册需要手动批准。\\n请让管理员知道您为什么想要注册。","reason":"注册理由","register":"注册"},"selectable_list":{"select_all":"选择全部"},"settings":{"app_name":"App 名称","security":"安全","enter_current_password_to_confirm":"输入您当前的密码来确认您的身份","mfa":{"otp":"OTP","setup_otp":"设置 OTP","wait_pre_setup_otp":"预设 OTP","confirm_and_enable":"确认并启用 OTP","title":"双因素验证","generate_new_recovery_codes":"生成新的恢复码","warning_of_generate_new_codes":"当您生成新的恢复码时,您旧的恢复码将会失效。","recovery_codes":"恢复码。","waiting_a_recovery_codes":"正在接收备份码…","recovery_codes_warning":"抄写这些号码,或者将其保存在安全的地方。这些号码不会再次显示。如果您无法访问您的 2FA app,也丢失了您的恢复码,您就再也无法登录您的账号了。","authentication_methods":"身份验证方法","scan":{"title":"扫一下","desc":"使用您的双因素验证 app,扫描这个二维码,或者输入这些文字密钥:","secret_code":"密钥"},"verify":{"desc":"要启用双因素验证,请输入您的双因素验证 app 里的数字:"}},"attachmentRadius":"附件","attachments":"附件","avatar":"头像","avatarAltRadius":"头像(通知)","avatarRadius":"头像","background":"背景","bio":"简介","block_export":"屏蔽名单导出","block_export_button":"导出你的屏蔽名单到一个 csv 文件","block_import":"屏蔽名单导入","block_import_error":"导入屏蔽名单出错","blocks_imported":"屏蔽名单导入成功!需要一点时间来处理。","blocks_tab":"屏蔽","btnRadius":"按钮","cBlue":"蓝色(回复,关注)","cGreen":"绿色(转发)","cOrange":"橙色(喜欢)","cRed":"红色(取消)","change_password":"修改密码","change_password_error":"修改密码的时候出了点问题。","changed_password":"成功修改了密码!","collapse_subject":"折叠带主题的内容","composing":"写作","confirm_new_password":"确认新密码","current_avatar":"当前头像","current_password":"当前密码","current_profile_banner":"您当前的横幅图片","data_import_export_tab":"数据导入/导出","default_vis":"默认可见范围","delete_account":"删除账户","delete_account_description":"永久删除你的帐号和所有数据。","delete_account_error":"删除账户时发生错误,如果一直删除不了,请联系实例管理员。","delete_account_instructions":"在下面输入您的密码来确认删除账户。","avatar_size_instruction":"推荐的头像图片最小尺寸为 150x150 像素。","export_theme":"导出预置主题","filtering":"过滤器","filtering_explanation":"所有包含以下词汇的内容都会被隐藏,一行一个","follow_export":"导出关注","follow_export_button":"将关注导出成 csv 文件","follow_import":"导入关注","follow_import_error":"导入关注时错误","follows_imported":"关注已导入!尚需要一些时间来处理。","foreground":"前景","general":"通用","hide_attachments_in_convo":"在对话中隐藏附件","hide_attachments_in_tl":"在时间线上隐藏附件","hide_muted_posts":"不显示被隐藏的用户的帖子","max_thumbnails":"每个帖子最多能显示的缩略图数量","hide_isp":"隐藏实例独有的面板","preload_images":"预载图片","use_one_click_nsfw":"点击一次以打开工作场所不适宜(NSFW)的附件","hide_post_stats":"隐藏帖子的统计数据(例如:喜欢的次数)","hide_user_stats":"隐藏用户的统计数据(例如:关注者的数量)","hide_filtered_statuses":"隐藏过滤的状态","import_blocks_from_a_csv_file":"从 csv 文件中导入拉黑名单","import_followers_from_a_csv_file":"从 csv 文件中导入关注","import_theme":"导入预置主题","inputRadius":"输入框","checkboxRadius":"复选框","instance_default":"(默认:{value})","instance_default_simple":"(默认)","interface":"界面","interfaceLanguage":"界面语言","invalid_theme_imported":"您所选择的主题文件不被 Pleroma 支持,因此主题未被修改。","limited_availability":"在您的浏览器中无法使用","links":"链接","lock_account_description":"您需要手动审核关注请求","loop_video":"循环视频","loop_video_silent_only":"只循环没有声音的视频(例如:Mastodon 里的“GIF”)","mutes_tab":"隐藏","play_videos_in_modal":"在弹出框内播放视频","use_contain_fit":"生成缩略图时不要裁剪附件","name":"名字","name_bio":"名字及简介","new_password":"新密码","notification_visibility":"要显示的通知类型","notification_visibility_follows":"关注","notification_visibility_likes":"喜欢","notification_visibility_mentions":"提及","notification_visibility_repeats":"转发","no_rich_text_description":"不显示富文本格式","no_blocks":"没有屏蔽","no_mutes":"没有隐藏","hide_follows_description":"不要显示我所关注的人","hide_followers_description":"不要显示关注我的人","show_admin_badge":"在我的个人资料中显示“管理员”徽章","show_moderator_badge":"在我的个人资料中显示“监察员”徽章","nsfw_clickthrough":"将不和谐附件和链接预览隐藏,点击才会显示","oauth_tokens":"OAuth令牌","token":"令牌","refresh_token":"刷新令牌","valid_until":"有效期至","revoke_token":"撤消","panelRadius":"面板","pause_on_unfocused":"在离开页面时暂停时间线推送","presets":"预置","profile_background":"个人背景图","profile_banner":"横幅图片","profile_tab":"个人资料","radii_help":"设置界面边缘的圆角 (单位:像素)","replies_in_timeline":"时间线中的回复","reply_visibility_all":"显示所有回复","reply_visibility_following":"只显示发送给我的回复/发送给我关注的用户的回复","reply_visibility_self":"只显示发送给我的回复","autohide_floating_post_button":"自动隐藏新帖子的按钮(移动设备)","saving_err":"保存设置时发生错误","saving_ok":"设置已保存","search_user_to_block":"搜索你想屏蔽的用户","search_user_to_mute":"搜索你想要隐藏的用户","security_tab":"安全","scope_copy":"回复时复制可见范围(私信中永远会复制)","minimal_scopes_mode":"使发文可见范围的选项最少化","set_new_avatar":"设置新头像","set_new_profile_background":"设置新的个人资料背景","set_new_profile_banner":"设置新的横幅图片","settings":"设置","subject_input_always_show":"总是显示主题框","subject_line_behavior":"回复时复制主题","subject_line_email":"类似电子邮件: \\"re: 主题\\"","subject_line_mastodon":"类似 mastodon: 与原主题相同","subject_line_noop":"不要复制","post_status_content_type":"发文状态内容类型","stop_gifs":"鼠标悬停时播放GIF","streaming":"滚动到顶部时自动推送新内容","text":"文本","theme":"主题","theme_help":"使用十六进制代码(#rrggbb)来设置主题颜色。","theme_help_v2_1":"您也可以通过选中复选框来覆盖某些组件的颜色和透明度。使用“清除所有”按钮来清除所有覆盖设置。","theme_help_v2_2":"某些条目下的图标是背景或文本对比指示器,鼠标悬停可以获取详细信息。请记住,使用透明度来显示最差的情况。","tooltipRadius":"提醒","upload_a_photo":"上传照片","user_settings":"用户设置","values":{"false":"否","true":"是"},"notifications":"通知","notification_mutes":"要停止收到某个指定的用户的通知,请使用隐藏功能。","notification_blocks":"屏蔽一个用户会停止接收来自该用户的所有通知,并且会取消对该用户的关注。","enable_web_push_notifications":"启用 web 推送通知","style":{"switcher":{"keep_color":"保留颜色","keep_shadows":"保留阴影","keep_opacity":"保留透明度","keep_roundness":"保留圆角","keep_fonts":"保留字体","save_load_hint":"\\"保留\\" 选项在选择或加载主题时保留当前设置的选项,在导出主题时还会存储上述选项。当所有复选框未设置时,导出主题将保存所有内容。","reset":"重置","clear_all":"清除全部","clear_opacity":"清除透明度","load_theme":"加载主题","help":{"upgraded_from_v2":"PleromaFE 已升级,主题会与您记忆中的不太一样。","older_version_imported":"您导入的文件来自旧版本的 FE。","future_version_imported":"您导入的文件来自更高版本的 FE。","v2_imported":"您导入的文件是旧版 FE 的。我们尽可能保持兼容性,但还是可能出现不一致的情况。","snapshot_source_mismatch":"版本冲突:很有可能是 FE 版本回滚后再次升级了,如果您使用旧版本的 FE 更改了主题那么您可能需要使用旧版本,否则请使用新版本。","migration_napshot_gone":"不知出于何种原因,主题快照缺失了,一些地方可能与您印象中的不符。","migration_snapshot_ok":"为保万无一失,加载了主题快照。您可以试着加载主题数据。","fe_downgraded":"PleromaFE 的版本回滚了。","fe_upgraded":"PleromaFE 的主题引擎随着版本更新升级了。","snapshot_missing":"在文件中没有主题快照,所以网站外观可能会与原来预想的不同。","snapshot_present":"主题快照已加载,因此所有的值均被覆盖。您可以改为加载主题的实际数据。"},"use_source":"新版本","use_snapshot":"老版本","keep_as_is":"保持原状"},"common":{"color":"颜色","opacity":"透明度","contrast":{"hint":"对比度是 {ratio}, 它 {level} {context}","level":{"aa":"符合 AA 等级准则(最低)","aaa":"符合 AAA 等级准则(推荐)","bad":"不符合任何辅助功能指南"},"context":{"18pt":"大字文本 (18pt+)","text":"文本"}}},"common_colors":{"_tab_label":"常规","main":"常用颜色","foreground_hint":"点击”高级“ 标签进行细致的控制","rgbo":"图标,强调,徽章"},"advanced_colors":{"_tab_label":"高级","alert":"提醒或警告背景色","alert_error":"错误","badge":"徽章背景","badge_notification":"通知","panel_header":"面板标题","top_bar":"顶栏","borders":"边框","buttons":"按钮","inputs":"输入框","faint_text":"灰度文字","chat":{"border":"边框","outgoing":"发出的","incoming":"收到的"},"disabled":"禁用的","pressed":"压下的","highlight":"强调元素","selectedMenu":"选中的菜单项","selectedPost":"选中的发布内容","icons":"图标","poll":"投票统计图","popover":"提示框,菜单,弹出框","post":"发布内容/用户简介","alert_neutral":"中性","alert_warning":"警告","tabs":"标签页","underlay":"底衬","toggled":"按下的","wallpaper":"壁纸"},"radii":{"_tab_label":"圆角"},"shadows":{"_tab_label":"阴影和照明","component":"组件","override":"覆盖","shadow_id":"阴影 #{value}","blur":"模糊","spread":"扩散","inset":"内阴影","hint":"对于阴影你还可以使用 --variable 作为颜色值来使用 CSS3 变量。请注意,这种情况下,透明设置将不起作用。","filter_hint":{"always_drop_shadow":"警告,此阴影设置会总是使用 {0} ,如果浏览器支持的话。","drop_shadow_syntax":"{0} 不支持参数 {1} 和关键词 {2} 。","avatar_inset":"请注意组合两个内部和非内部的阴影到头像上,在透明头像上可能会有意料之外的效果。","spread_zero":"阴影的扩散 > 0 会同设置成零一样","inset_classic":"内阴影会使用 {0}"},"components":{"panel":"面板","panelHeader":"面板标题","topBar":"顶栏","avatar":"用户头像(在个人资料栏)","avatarStatus":"用户头像(在帖子显示栏)","popup":"弹窗与工具提示","button":"按钮","buttonHover":"按钮(悬停)","buttonPressed":"按钮(压下)","buttonPressedHover":"按钮(压下和悬停)","input":"输入框"},"hintV3":"对于阴影,您还可以使用 {0} 表示法来使用其它颜色插槽。"},"fonts":{"_tab_label":"字体","help":"为用户界面的元素选择字体。若选择 “自选”,您必须输入与系统显示完全一致的字体名称。","components":{"interface":"界面","input":"输入框","post":"发帖文字","postCode":"帖子中使用等间距文字(富文本)"},"family":"字体名称","size":"大小 (in px)","weight":"字重 (粗体)","custom":"自选"},"preview":{"header":"预览","content":"内容","error":"错误示例","button":"按钮","text":"有堆 {0} 和 {1}","mono":"monospace 内容","input":"刚刚抵达上海。","faint_link":"帮助手册","fine_print":"阅读我们的 {0} ,然而什么也学不到!","header_faint":"这很正常","checkbox":"我已经浏览了条款及细则","link":"一个棒棒的小小链接"}},"version":{"title":"版本","backend_version":"后端版本","frontend_version":"前端版本"},"notification_setting_filters":"过滤器","domain_mutes":"域名","changed_email":"邮箱修改成功!","change_email_error":"修改您的电子邮箱时发生错误。","change_email":"修改电子邮箱","allow_following_move":"正在关注的账号迁移时自动重新关注","notification_setting_privacy_option":"在通知推送中隐藏发送者和内容","notification_setting_privacy":"隐私","hide_follows_count_description":"不显示关注数","notification_visibility_emoji_reactions":"互动","notification_visibility_moves":"用户迁移","new_email":"新邮箱","emoji_reactions_on_timeline":"在时间线上显示表情符号互动","notification_setting_hide_notification_contents":"隐藏推送通知中的发送者与内容信息","notification_setting_block_from_strangers":"屏蔽来自你没有关注的用户的通知","type_domains_to_mute":"搜索需要隐藏的域名","useStreamingApi":"实时接收帖子和通知","user_mutes":"用户","reset_background_confirm":"您确定要重置背景图吗?","reset_banner_confirm":"您确定要重置横幅图片吗?","reset_avatar_confirm":"您确定要重置头像吗?","reset_profile_banner":"重置横幅图片","reset_profile_background":"重置个人背景图","reset_avatar":"重置头像","hide_followers_count_description":"不显示关注者数量","profile_fields":{"value":"内容","name":"标签","add_field":"添加字段","label":"个人资料元数据"},"accent":"强调色","pad_emoji":"从表情符号选择器插入表情符号时,在表情两侧插入空格","discoverable":"允许通过搜索检索等服务找到此账号","mutes_and_blocks":"隐藏与屏蔽","bot":"这是一个机器人账号","fun":"趣味","useStreamingApiWarning":"(不推荐使用,试验性,已知会跳过一些帖子)","chatMessageRadius":"聊天消息","greentext":"Meme 箭头","virtual_scrolling":"优化时间线渲染","import_mutes_from_a_csv_file":"从 csv 文件导入隐藏名单","mutes_imported":"隐藏名单导入成功!处理它们将需要一段时间。","mute_import_error":"导入隐藏名单出错","mute_import":"隐藏名单导入","mute_export_button":"导出你的隐藏名单到一个 csv 文件","mute_export":"隐藏名单导出","hide_wallpaper":"隐藏实例壁纸","setting_changed":"与默认设置不同","more_settings":"更多设置","sensitive_by_default":"默认标记发文为敏感内容","reply_visibility_self_short":"只显示对我本人的回复","reply_visibility_following_short":"显示对我关注的人的回复","hide_all_muted_posts":"不显示已隐藏的发文","hide_media_previews":"隐藏媒体预览","word_filter":"词语过滤","save":"保存更改","file_export_import":{"errors":{"file_slightly_new":"文件的小版本不同,有些设置可能无法加载","file_too_old":"不兼容的主版本:{fileMajor},文件版本过旧,不受支持(最小设置版本 {feMajor})","file_too_new":"不兼容的主版本:{fileMajor},此 PleromaFE(设置版本 {feMajor})过旧,无法处理","invalid_file":"所选文件不是受支持的 Pleroma 设置备份。没有进行任何更改。"},"restore_settings":"从文件恢复设置","backup_settings_theme":"备份设置和主题到文件","backup_settings":"备份设置到文件","backup_restore":"设置备份"},"right_sidebar":"在右侧显示侧边栏","hide_shoutbox":"隐藏实例留言板"},"time":{"day":"{0} 天","days":"{0} 天","day_short":"{0}d","days_short":"{0}d","hour":"{0} 小时","hours":"{0} 小时","hour_short":"{0}h","hours_short":"{0}h","in_future":"还有 {0}","in_past":"{0} 之前","minute":"{0} 分钟","minutes":"{0} 分钟","minute_short":"{0}min","minutes_short":"{0}min","month":"{0} 月","months":"{0} 月","month_short":"{0}mo","months_short":"{0}mo","now":"刚刚","now_short":"刚刚","second":"{0} 秒","seconds":"{0} 秒","second_short":"{0}s","seconds_short":"{0}s","week":"{0} 周","weeks":"{0} 周","week_short":"{0}w","weeks_short":"{0}w","year":"{0} 年","years":"{0} 年","year_short":"{0}y","years_short":"{0}y"},"timeline":{"collapse":"折叠","conversation":"对话","error_fetching":"获取更新时发生错误","load_older":"加载更早的状态","no_retweet_hint":"这条内容仅关注者可见,或者是私信,因此不能转发","repeated":"转发了","show_new":"显示新内容","up_to_date":"已是最新","no_more_statuses":"没有更多的状态","no_statuses":"没有状态更新","reload":"重新载入","error":"取得时间轴时发生错误:{0}","socket_broke":"丢失实时连接:CloseEvent code {0}","socket_reconnected":"已建立实时连接"},"status":{"favorites":"喜欢","repeats":"转发","delete":"删除状态","pin":"在个人资料置顶","unpin":"取消在个人资料置顶","pinned":"置顶","delete_confirm":"你真的想要删除这条状态吗?","reply_to":"回复","replies_list":"回复:","mute_conversation":"隐藏对话","unmute_conversation":"对话取消隐藏","hide_content":"隐藏内容","show_content":"显示内容","hide_full_subject":"隐藏此部分标题","show_full_subject":"显示全部标题","thread_muted":"此系列消息已被隐藏","copy_link":"复制状态链接","status_unavailable":"状态不可取得","unbookmark":"取消书签","bookmark":"书签","thread_muted_and_words":",含有过滤词:","status_deleted":"该状态已被删除","nsfw":"NSFW","external_source":"外部来源","expand":"展开"},"user_card":{"approve":"核准","block":"屏蔽","blocked":"已屏蔽!","deny":"拒绝","favorites":"喜欢","follow":"关注","follow_sent":"请求已发送!","follow_progress":"请求中…","follow_unfollow":"取消关注","followees":"正在关注","followers":"关注者","following":"正在关注!","follows_you":"关注了你!","its_you":"就是你!","media":"媒体","mute":"隐藏","muted":"已隐藏","per_day":"每天","remote_follow":"跨站关注","report":"报告","statuses":"状态","subscribe":"订阅","unsubscribe":"退订","unblock":"取消屏蔽","unblock_progress":"正在取消屏蔽…","block_progress":"正在屏蔽…","unmute":"取消隐藏","unmute_progress":"取消隐藏中…","mute_progress":"隐藏中…","admin_menu":{"moderation":"仲裁","grant_admin":"赋予管理权限","revoke_admin":"撤销管理权限","grant_moderator":"赋予监察员权限","revoke_moderator":"撤销监察员权限","activate_account":"激活账号","deactivate_account":"关闭账号","delete_account":"删除账号","force_nsfw":"标记所有的帖子都是 - 工作场合不适","strip_media":"从帖子里删除媒体文件","force_unlisted":"强制帖子为不公开","sandbox":"强制帖子为只有关注者可看","disable_remote_subscription":"禁止从远程实例关注用户","disable_any_subscription":"完全禁止关注用户","quarantine":"从联合实例中禁止用户帖子","delete_user":"删除用户","delete_user_confirmation":"你确定吗?此操作无法撤销。"},"hidden":"已隐藏","show_repeats":"显示转发","hide_repeats":"隐藏转发","message":"消息","mention":"提及","bot":"机器人","highlight":{"side":"侧边条纹","striped":"条纹背景","solid":"单一颜色背景","disabled":"不突出显示"},"edit_profile":"编辑个人资料"},"user_profile":{"timeline_title":"用户时间线","profile_does_not_exist":"抱歉,此个人资料不存在。","profile_loading_error":"抱歉,载入个人资料时出错。"},"user_reporting":{"title":"报告 {0}","add_comment_description":"此报告会发送给您的实例监察员。您可以在下面提供更多详细信息解释报告的缘由:","additional_comments":"其它信息","forward_description":"这个账号来自另一个服务器。是否同时发送一份报告副本到那里?","forward_to":"转发 {0}","submit":"提交","generic_error":"当处理您的请求时,发生了一个错误。"},"who_to_follow":{"more":"更多","who_to_follow":"推荐关注"},"tool_tip":{"media_upload":"上传媒体","repeat":"转发","reply":"回复","favorite":"喜欢","user_settings":"用户设置","reject_follow_request":"拒绝关注请求","add_reaction":"添加互动","bookmark":"书签","accept_follow_request":"接受关注请求"},"upload":{"error":{"base":"上传不成功。","file_too_big":"文件太大了 [{filesize}{filesizeunit} / {allowedsize}{allowedsizeunit}]","default":"迟些再试","message":"上传错误:{0}"},"file_size_units":{"B":"B","KiB":"KiB","MiB":"MiB","GiB":"GiB","TiB":"TiB"}},"search":{"people":"人","hashtags":"话题标签","person_talking":"{count} 人正在讨论","people_talking":"{count} 人正在讨论","no_results":"没有搜索结果"},"password_reset":{"forgot_password":"忘记密码了?","password_reset":"重置密码","instruction":"输入您的电邮地址或者用户名,我们将发送一个链接到您的邮箱,用于重置密码。","placeholder":"您的电邮地址或者用户名","check_email":"检查您的邮箱,会有一个链接用于重置密码。","return_home":"回到首页","too_many_requests":"您达到了尝试次数的上限,请稍后再试。","password_reset_disabled":"密码重置已被禁用。请联系您的实例管理员。","password_reset_required_but_mailer_is_disabled":"您必须重置密码,但是密码重置被禁用了。请联系您所在实例的管理员。","password_reset_required":"您必须重置密码才能登陆。"},"remote_user_resolver":{"error":"未找到。","searching_for":"搜索","remote_user_resolver":"远程用户解析器"},"emoji":{"keep_open":"选择器保持打开","stickers":"贴纸","unicode":"Unicode 表情符号","custom":"自定义表情符号","add_emoji":"插入表情符号","search_emoji":"搜索表情符号","emoji":"表情符号","load_all":"加载所有表情符号(共 {emojiAmount} 个)","load_all_hint":"最先加载的 {saneAmount} 表情符号,加载全部表情符号可能会带来性能问题。"},"about":{"mrf":{"simple":{"quarantine_desc":"本实例向以下实例仅发送公开的帖子:","quarantine":"隔离","reject_desc":"本实例不会接收来自下列实例的消息:","reject":"拒绝","accept_desc":"本实例只接收来自下列实例的消息:","simple_policies":"对于特定实例的策略","accept":"接受","media_removal":"移除媒体","media_nsfw_desc":"本实例将来自以下实例的媒体内容强制设置为敏感内容:","media_nsfw":"强制设置媒体为敏感内容","media_removal_desc":"本实例移除来自以下实例的媒体内容:","ftl_removal_desc":"该实例在从“已知网络”时间线上移除了下列实例:","ftl_removal":"从“已知网络”时间线上移除"},"mrf_policies_desc":"MRF 策略会影响本实例的互通行为。以下策略已启用:","mrf_policies":"已启用的 MRF 策略","keyword":{"ftl_removal":"从“全部已知网络”时间线上移除","keyword_policies":"关键词策略","is_replaced_by":"→","replace":"替换","reject":"拒绝"},"federation":"联邦互通"},"staff":"管理人员"},"domain_mute_card":{"unmute_progress":"正在取消隐藏…","unmute":"取消隐藏","mute_progress":"隐藏中…","mute":"隐藏"},"errors":{"storage_unavailable":"Pleroma 无法访问浏览器储存。您的登陆以及本地设置将不会被保存,您也可能遇到未知问题。请尝试启用 cookies。"},"shoutbox":{"title":"留言板"},"display_date":{"today":"今天"},"file_type":{"file":"文件","image":"图片","video":"视频","audio":"音频"},"chats":{"empty_chat_list_placeholder":"您还没有任何聊天记录。开始聊天吧!","error_sending_message":"发送消息时出了点问题。","error_loading_chat":"加载聊天时出了点问题。","delete_confirm":"您确实要删除此消息吗?","more":"更多","empty_message_error":"无法发布空消息","new":"新聊天","chats":"聊天","delete":"删除","message_user":"发消息给 {nickname}","you":"你:"}}')}}]); +//# sourceMappingURL=31.226f7a848d733df38095.js.map \ No newline at end of file diff --git a/priv/static/static/js/31.226f7a848d733df38095.js.map b/priv/static/static/js/31.226f7a848d733df38095.js.map new file mode 100644 index 000000000..3d85d770f --- /dev/null +++ b/priv/static/static/js/31.226f7a848d733df38095.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/31.226f7a848d733df38095.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/32.19ca50edbb4d711838dc.js b/priv/static/static/js/32.19ca50edbb4d711838dc.js new file mode 100644 index 000000000..81bd5064f --- /dev/null +++ b/priv/static/static/js/32.19ca50edbb4d711838dc.js @@ -0,0 +1,2 @@ +(window.webpackJsonp=window.webpackJsonp||[]).push([[32],{625:function(e){e.exports=JSON.parse('{"emoji":{"unicode":"統一碼繪文字","custom":"自定義繪文字","add_emoji":"插入繪文字","search_emoji":"搜索繪文字","keep_open":"選擇器保持打開","emoji":"繪文字","stickers":"貼紙","load_all":"加載所有繪文字(共 {emojiAmount} 個)","load_all_hint":"最先加載的 {saneAmount} ,加載全部繪文字可能會帶來性能問題。"},"polls":{"not_enough_options":"投票的選項太少","expired":"投票 {0} 前已結束","expires_in":"投票於 {0} 內結束","expiry":"投票期限","multiple_choices":"多選","single_choice":"單選","type":"問卷類型","vote":"投票","votes":"票","option":"選項","add_option":"增加選項","add_poll":"增加投票","votes_count":"{count} 票 | {count} 票","people_voted_count":"{count} 人已投票 | {count} 人已投票"},"notifications":{"reacted_with":"作出了 {0} 的反應","migrated_to":"遷移到","no_more_notifications":"沒有更多的通知","repeated_you":"轉發了你的發文","read":"已閱!","notifications":"通知","load_older":"載入更早的通知","follow_request":"想要關注你","followed_you":"關注了你","favorited_you":"喜歡了你的發文","broken_favorite":"未知的狀態,正在搜索中…","error":"獲取通知錯誤:{0}"},"nav":{"chats":"聊天","timelines":"時間線","preferences":"偏好設置","who_to_follow":"推薦關注","search":"搜索","user_search":"用戶搜索","bookmarks":"書籤","twkn":"已知網絡","timeline":"時間線","public_tl":"公共時間線","dms":"私信","interactions":"互動","mentions":"提及","friend_requests":"關注請求","back":"後退","administration":"管理員","about":"關於","home_timeline":"家時間線"},"media_modal":{"next":"往後","previous":"往前"},"login":{"heading":{"recovery":"雙重因素恢復","totp":"雙重因素驗證"},"recovery_code":"恢復碼","enter_two_factor_code":"輸入一個雙重因素驗證碼","enter_recovery_code":"輸入一個恢復碼","authentication_code":"驗證碼","hint":"登錄後加入討論","username":"用戶名","register":"註冊","placeholder":"例:鈴音","password":"密碼","logout":"登出","description":"用 OAuth 登入","login":"登入"},"importer":{"error":"導入此文件時出現一個錯誤。","success":"導入成功。","submit":"提交"},"image_cropper":{"cancel":"取消","save_without_cropping":"保存不裁剪","save":"保存","crop_picture":"裁剪圖片"},"general":{"peek":"窺視","close":"關閉","verify":"驗證","confirm":"確認","enable":"啟用","disable":"禁用","cancel":"取消","dismiss":"忽略","show_less":"收起","show_more":"展開","optional":"可選","retry":"再試","error_retry":"請再試","generic_error":"發生一個錯誤","loading":"載入中…","more":"更多","submit":"提交","apply":"應用","role":{"moderator":"主持人","admin":"管理員"},"flash_content":"點擊以使用 Ruffle 顯示 Flash 內容(實驗性,可能無效)。","flash_security":"請注意,這可能有潜在的危險,因為Flash內容仍然是武斷的程式碼。","flash_fail":"無法加載flash內容,請參閱控制台瞭解詳細資訊。"},"finder":{"find_user":"尋找用戶","error_fetching_user":"獲取用戶時發生錯誤"},"features_panel":{"who_to_follow":"推薦關注","title":"特色","text_limit":"文字數量限制","scope_options":"可見範圍設置","media_proxy":"媒體代理","pleroma_chat_messages":"Pleroma 聊天","chat":"聊天","gopher":"Gopher","upload_limit":"上傳限制"},"exporter":{"processing":"正在處理,稍後會提示您下載文件","export":"導出"},"domain_mute_card":{"unmute_progress":"取消靜音中…","unmute":"取消靜音","mute_progress":"靜音中…","mute":"靜音"},"shoutbox":{"title":"留言板"},"about":{"staff":"職員","mrf":{"simple":{"media_nsfw_desc":"這個實例強迫以下實例的帖子媒體設定為敏感:","media_nsfw":"媒體強制設定為敏感","media_removal_desc":"這個實例移除以下實例的帖子媒體:","media_removal":"移除媒體","ftl_removal_desc":"這個實例在所有已知網絡中移除下列實例:","ftl_removal":"從所有已知網路中移除","quarantine_desc":"本實例只會把公開發文發送到下列實例:","quarantine":"隔離","reject_desc":"本實例不會接收來自下列實例的消息:","reject":"拒絕","accept_desc":"本實例只接收來自下列實例的消息:","simple_policies":"站規","accept":"接受"},"mrf_policies_desc":"MRF 策略會影響本實例的互通行為。以下策略已啟用:","keyword":{"ftl_removal":"從“全部已知網絡”時間線上移除","replace":"取代","reject":"拒絕","is_replaced_by":"→","keyword_policies":"關鍵字政策"},"mrf_policies":"已啟用的MRF政策","federation":"聯邦"}},"settings":{"style":{"common":{"color":"顏色","contrast":{"context":{"18pt":"大字文本 (18pt+)","text":"文本"},"level":{"aaa":"符合 AAA 等級準則(推薦)","aa":"符合 AA 等級準則(最低)","bad":"不符合任何輔助功能指南"},"hint":"對比度是 {ratio}, 它 {level} {context}"},"opacity":"透明度"},"advanced_colors":{"faint_text":"灰度文字","alert_error":"錯誤","badge_notification":"通知","alert":"提醒或警告背景色","_tab_label":"高级","alert_warning":"警告","alert_neutral":"中性","post":"帖子/用戶簡介","badge":"徽章背景","popover":"提示框,菜單,彈出框","panel_header":"面板標題","top_bar":"頂欄","borders":"邊框","buttons":"按鈕","inputs":"輸入框","underlay":"底襯","poll":"投票統計圖","icons":"圖標","highlight":"強調元素","pressed":"按下","selectedPost":"選中的帖子","selectedMenu":"選中的菜單項","disabled":"關閉","toggled":"切換","tabs":"標籤","chat":{"incoming":"收到","outgoing":"發出","border":"邊框"},"wallpaper":"桌布"},"preview":{"header_faint":"這很正常","header":"預覽","content":"內容","error":"例子錯誤","button":"按鈕","text":"有堆 {0} 和 {1}","mono":"內容","input":"剛剛抵達洛杉磯.","faint_link":"有用的手冊","fine_print":"閱讀我們的 {0} ,然而什麼有用的也學不到!","checkbox":"我已經瀏覽了條款及細則","link":"一個很好的小鏈接"},"shadows":{"override":"覆寫","_tab_label":"陰影和燈光","component":"組件","shadow_id":"陰影 #{value}","blur":"模糊","spread":"擴散","inset":"插圖","hintV3":"對於陰影,您還可以使用{0}表示法來使用其他顏色插槽。","filter_hint":{"always_drop_shadow":"警告,此陰影設置會總是使用 {0} ,如果瀏覽器支持的話。","drop_shadow_syntax":"{0} 不支持參數 {1} 和關鍵詞 {2} 。","avatar_inset":"請注意組合兩個內部和非內部的陰影到頭像上,在透明頭像上可能會有意料之外的效果。","spread_zero":"陰影的擴散 > 0 會同設置成零一樣","inset_classic":"插入內部的陰影會使用 {0}"},"components":{"panel":"面板","panelHeader":"面板標題","topBar":"頂欄","avatar":"用戶頭像(在個人資料欄)","avatarStatus":"用戶頭像(在帖子顯示欄)","popup":"彈窗和工具提示","button":"按鈕","buttonHover":"按鈕(懸停)","buttonPressed":"按鈕(按下)","buttonPressedHover":"按鈕(按下和懸停)","input":"輸入框"}},"switcher":{"use_snapshot":"舊版","load_theme":"載入主題","keep_color":"保留顏色","keep_shadows":"保留陰影","keep_opacity":"保留透明度","keep_roundness":"保留圓角","help":{"migration_napshot_gone":"不知出於何種原因,主題快照缺失了,一些地方可能與您印象中的不符。","snapshot_source_mismatch":"版本衝突:很有可能是 FE 版本回滾後再次升級了,如果您使用舊版本的 FE 更改了主題那麼您可能需要使用舊版本,否則請使用新版本。","future_version_imported":"您導入的文件來自更高版本的 FE。","older_version_imported":"您導入的文件來自舊版本的 FE。","snapshot_missing":"在文件中沒有主題快照,所以網站外觀可能會與原來預想的不同。","fe_upgraded":"PleromaFE 的主題引擎隨著版本更新升級了。","fe_downgraded":"PleromaFE 的版本回滾了。","upgraded_from_v2":"PleromaFE 已升級,主題會和你記憶中的不太一樣。","v2_imported":"您導入的文件是舊版 FE 的。我們儘可能保持兼容性,但還是可能出現不一致的情況。","snapshot_present":"載入快照已加載,因此所有值均被覆蓋。 您可以改為載入主題實際數據。","migration_snapshot_ok":"為保萬無一失,載入了主題快照。您可以試著載入主題數據。"},"use_source":"新版本","keep_as_is":"保持原狀","clear_opacity":"清除透明度","clear_all":"清除全部","reset":"重置","keep_fonts":"保留字體","save_load_hint":"\\"保留\\" 選項在選擇或載入主題時保留當前設置的選項,在導出主題時還會存儲上述選項。當所有複選框未設置時,導出主題將保存所有內容。"},"fonts":{"components":{"interface":"界面","input":"輸入框","post":"發帖文字","postCode":"帖子中使用等間距文字(富文本)"},"_tab_label":"字體","help":"給用戶界面的元素選擇字體。選擇 “自選”的你必須輸入確切的字體名稱。","family":"字體名稱","size":"大小 (像素)","weight":"字重 (粗體))","custom":"自選"},"common_colors":{"foreground_hint":"點擊”高級“ 標籤進行細緻的控制","main":"常用顏色","_tab_label":"共同","rgbo":"圖標,強調,徽章"},"radii":{"_tab_label":"圓角"}},"notification_setting_block_from_strangers":"屏蔽來自你沒有關注的用戶的通知","user_mutes":"用户","hide_followers_count_description":"不顯示關注者數量","no_rich_text_description":"不顯示富文本格式","notification_visibility_moves":"用戶遷移","notification_visibility_repeats":"轉發","notification_visibility_mentions":"提及","notification_visibility_likes":"喜歡","interfaceLanguage":"界面語言","instance_default":"(默認:{value})","inputRadius":"輸入框","import_theme":"導入預置主題","import_followers_from_a_csv_file":"從 csv 文件中導入關注","import_blocks_from_a_csv_file":"從 csv 文件中導入封鎖黑名單名單","hide_filtered_statuses":"隱藏過濾的發文","lock_account_description":"你需要手動審核關注請求","loop_video":"循環視頻","loop_video_silent_only":"只循環沒有聲音的視頻(例如:Mastodon 裡的“GIF”)","mutes_tab":"靜音","play_videos_in_modal":"在彈出框內播放視頻","profile_fields":{"add_field":"添加字段","name":"標籤","value":"內容","label":"個人資料元數據"},"use_contain_fit":"生成縮略圖時不要裁剪附件","notification_visibility":"要顯示的通知類型","notification_visibility_follows":"關注","new_email":"新電郵","subject_line_mastodon":"比如mastodon: copy as is","reset_background_confirm":"您確定要重置個人資料背景圖嗎?","reset_banner_confirm":"您確定要重置橫幅圖片嗎?","reset_avatar_confirm":"您確定要重置頭像嗎?","reset_profile_banner":"重置橫幅圖片","reset_profile_background":"重置個人資料背景圖","reset_avatar":"重置頭像","discoverable":"允許通過搜索檢索等服務找到此賬號","delete_account_error":"刪除賬戶時發生錯誤,如果一直刪除不了,請聯繫實例管理員。","composing":"寫作設置","chatMessageRadius":"聊天訊息","mfa":{"confirm_and_enable":"確認並啟用OTP","setup_otp":"設置OTP","otp":"OTP","wait_pre_setup_otp":"預設OTP","verify":{"desc":"要啟用雙因素驗證,請把你的雙因素驗證 app 裡的數字輸入:"},"scan":{"secret_code":"密鑰","desc":"使用你的雙因素驗證 app,掃瞄這個二維碼,或者輸入這些文字密鑰:","title":"掃瞄"},"authentication_methods":"身份驗證方法","recovery_codes_warning":"抄寫這些號碼,或者保存在安全的地方。這些號碼不會再次顯示。如果你無法訪問你的 2FA app,也丟失了你的恢復碼,你的賬號就再也無法登錄了。","waiting_a_recovery_codes":"正在接收備份碼…","recovery_codes":"恢復碼。","warning_of_generate_new_codes":"當你生成新的恢復碼時,你的舊恢復碼就失效了。","generate_new_recovery_codes":"生成新的恢復碼","title":"雙因素驗證"},"new_password":"新密碼","name_bio":"名字及簡介","name":"名字","domain_mutes":"域名","delete_account_instructions":"在下面輸入密碼,以確認刪除帳戶。","delete_account_description":"永久刪除你的帳號和所有數據。","delete_account":"刪除帳戶","default_vis":"默認可見性範圍","data_import_export_tab":"數據導入/導出","mutes_and_blocks":"靜音與封鎖","current_password":"當前密碼","confirm_new_password":"確認新密碼","collapse_subject":"摺疊帶標題的內容","checkboxRadius":"複選框","instance_default_simple":"(默認)","interface":"界面","invalid_theme_imported":"您所選擇的主題文件不被 Pleroma 支持,因此主題未被修改。","limited_availability":"在您的瀏覽器中無法使用","links":"鏈接","changed_password":"成功修改了密碼!","change_password_error":"修改密碼的時候出了點問題。","change_password":"修改密碼","changed_email":"郵箱修改成功!","bot":"這是一個機器人賬號","change_email":"修改電子郵箱","cRed":"紅色(取消)","cOrange":"橙色(收藏)","cGreen":"綠色(轉發)","cBlue":"藍色(回覆,關注)","btnRadius":"按鈕","notification_visibility_emoji_reactions":"互動","no_blocks":"沒有封鎖","no_mutes":"沒有靜音","hide_follows_description":"不要顯示我所關注的人","hide_followers_description":"不要顯示關注我的人","hide_follows_count_description":"不顯示關注數","nsfw_clickthrough":"將敏感附件和鏈接隱藏,點擊才能打開","valid_until":"有效期至","panelRadius":"面板","pause_on_unfocused":"在離開頁面時暫停時間線推送","notifications":"通知","notification_setting_filters":"過濾器","notification_setting_privacy":"隱私","notification_mutes":"要停止收到某個指定的用戶的通知,請使用靜音功能。","notification_blocks":"封鎖一個用戶會停掉所有他的通知,等同於取消關注。","enable_web_push_notifications":"啟用 web 推送通知","presets":"預置","profile_background":"配置文件背景圖","profile_banner":"橫幅圖片","profile_tab":"個人資料","radii_help":"設置界面邊緣的圓角 (單位:像素)","reply_visibility_all":"顯示所有回覆","autohide_floating_post_button":"自動隱藏新帖子的按鈕(移動設備)","saving_err":"保存設置時發生錯誤","saving_ok":"設置已保存","search_user_to_block":"搜索你想屏蔽的用戶","search_user_to_mute":"搜索你想要隱藏的用戶","security_tab":"安全","set_new_avatar":"設置新頭像","set_new_profile_background":"設置新的個人背景","set_new_profile_banner":"設置新的個人橫幅","settings":"設置","subject_input_always_show":"總是顯示主題框","subject_line_behavior":"回覆時複製主題","subject_line_email":"比如電郵: \\"re: 主題\\"","subject_line_noop":"不要複製","post_status_content_type":"發文內容類型","stop_gifs":"鼠標懸停時播放GIF","streaming":"開啟滾動到頂部時的自動推送","text":"文本","theme":"主題","theme_help":"使用十六進制代碼(#rrggbb)來設置主題顏色。","theme_help_v2_1":"你也可以通過切換複選框來覆蓋某些組件的顏色和透明。使用“清除所有”來清楚所有覆蓋設置。","theme_help_v2_2":"某些條目下的圖標是背景或文本對比指示器,鼠標懸停可以獲取詳細信息。請記住,使用透明度來顯示最差的情況。","tooltipRadius":"提醒","upload_a_photo":"上傳照片","user_settings":"用戶設置","values":{"false":"否","true":"是"},"avatar_size_instruction":"推薦的頭像圖片最小的尺寸是 150x150 像素。","emoji_reactions_on_timeline":"在時間線上顯示繪文字互動","export_theme":"導出預置主題","filtering":"過濾","filtering_explanation":"所有包含以下詞彙的內容都會被隱藏,一行一個","follow_export":"導出關注","follow_export_button":"將關注導出成 csv 文件","follow_import":"導入關注","follow_import_error":"導入關注時錯誤","follows_imported":"關注已導入!尚需要一些時間來處理。","hide_attachments_in_convo":"在對話中隱藏附件","hide_attachments_in_tl":"在時間線上隱藏附件","hide_muted_posts":"不顯示被靜音的用戶的帖子","max_thumbnails":"最多每個帖子所能顯示的縮略圖數量","hide_isp":"隱藏指定實例的面板","preload_images":"預載圖片","use_one_click_nsfw":"點擊一次以打開工作場所不適宜的附件","hide_post_stats":"隱藏帖子的統計數據(例如:收藏的次數)","hide_user_stats":"隱藏用戶的統計數據(例如:關注者的數量)","general":"通用","foreground":"前景","blocks_tab":"封鎖","blocks_imported":"封鎖黑名單導入成功!需要一點時間來處理。","block_import_error":"導入封鎖黑名單出錯","block_import":"封鎖黑名單導入","block_export_button":"導出你的封鎖黑名單到一個 csv 文件","block_export":"封鎖黑名單導出","bio":"簡介","background":"背景","avatarRadius":"頭像","avatarAltRadius":"頭像(通知)","avatar":"頭像","attachments":"附件","attachmentRadius":"附件","allow_following_move":"正在關注的賬號遷移時自動重新關注","enter_current_password_to_confirm":"輸入你當前密碼來確認你的身份","security":"安全","app_name":"App 名稱","change_email_error":"修改你的電子郵箱時發生錯誤。","type_domains_to_mute":"搜索需要隱藏的域名","pad_emoji":"從繪文字選擇器插入繪文字時,在繪文字兩側插入空格","useStreamingApi":"實時接收發佈以及通知","minimal_scopes_mode":"最小發文範圍","scope_copy":"回覆時的複製範圍(私信是總是複製的)","reply_visibility_self":"只顯示發送給我的回覆","reply_visibility_following":"只顯示發送給我的回覆/發送給我關注的用戶的回覆","replies_in_timeline":"時間線中的回覆","revoke_token":"撤消","show_admin_badge":"顯示管理徽章","accent":"強調色","greentext":"前文箭頭","show_moderator_badge":"顯示主持人徽章","oauth_tokens":"OAuth代幣","token":"代幣","refresh_token":"刷新token","useStreamingApiWarning":"(不推薦使用,實驗性的,已知跳過文章)","fun":"有趣","notification_setting_hide_notification_contents":"隱藏推送通知中的發送者與內容信息","version":{"title":"版本","backend_version":"後端版本","frontend_version":"前端版本"},"virtual_scrolling":"優化時間線渲染","import_mutes_from_a_csv_file":"從CSV文件導入靜音","mutes_imported":"靜音導入了!處理它們將需要一段時間。","mute_import":"靜音導入","mute_import_error":"導入靜音時出錯","mute_export_button":"將靜音導出到csv文件","mute_export":"靜音導出","hide_wallpaper":"隱藏實例桌布","reply_visibility_self_short":"只顯示對我本人的回复","reply_visibility_following_short":"顯示對我關注的人的回复","hide_all_muted_posts":"不顯示已隱藏的帖子","hide_media_previews":"隱藏媒體預覽","word_filter":"詞過濾","setting_changed":"與默認設置不同","more_settings":"更多設置","save":"保存更改","file_export_import":{"errors":{"invalid_file":"所選文件不是受支持的Pleroma設置備份。 沒有進行任何更改。","file_too_new":"不兼容的主版本:{fileMajor},此 PleromaFE(設置版本 {feMajor})過舊,無法處理","file_too_old":"不兼容的主版本:{fileMajor},文件版本過舊,不受支持(最小設置版本 {feMajor})","file_slightly_new":"檔案的小版本不同,有些設置可能無法載入"},"restore_settings":"從文件還原設置","backup_settings_theme":"備份設置和主題到文件","backup_settings":"備份設置到文件","backup_restore":"設定備份"},"sensitive_by_default":"默認標記發文為敏感內容","right_sidebar":"在右側顯示側邊欄","hide_shoutbox":"隱藏實例留言框"},"chats":{"more":"更多","delete_confirm":"您確實要刪除此消息嗎?","error_loading_chat":"加載聊天時出了點問題。","error_sending_message":"發送消息時出了點問題。","empty_chat_list_placeholder":"您還沒有任何聊天記錄。 開始新的聊天!","new":"新聊天","empty_message_error":"無法發布空消息","you":"你:","message_user":"發消息給 {nickname}","delete":"刪除","chats":"聊天"},"file_type":{"audio":"音頻","video":"視頻","image":"图片","file":"檔案"},"display_date":{"today":"今天"},"status":{"mute_conversation":"靜音對話","replies_list":"回覆:","reply_to":"回覆","pin":"在個人資料置頂","unpin":"取消在個人資料置頂","favorites":"喜歡","repeats":"轉發","delete":"刪除發文","pinned":"置頂","bookmark":"書籤","unbookmark":"取消書籤","delete_confirm":"你真的想要刪除這條發文嗎?","unmute_conversation":"對話取消靜音","status_unavailable":"發文不可取得","copy_link":"複製發文鏈接","thread_muted":"静音線程","show_full_subject":"顯示完整標題","thread_muted_and_words":",有这些字:","hide_full_subject":"隱藏完整標題","show_content":"顯示內容","hide_content":"隱藏內容","status_deleted":"該帖已被刪除","expand":"展开","external_source":"外部來源","nsfw":"工作不安全"},"time":{"hours":"{0} 時","days_short":"{0}天","day_short":"{0}天","days":"{0} 天","hour":"{0} 時","hour_short":"{0}時","hours_short":"{0}時","years_short":"{0} y","now":"剛剛","day":"{0} 天","in_future":"還有 {0}","in_past":"{0} 之前","minute":"{0} 分鐘","minute_short":"{0} 分","minutes_short":"{0} 分","minutes":"{0} 分鐘","month":"{0} 月","months":"{0} 月","month_short":"{0} 月","months_short":"{0} 月","now_short":"剛剛","second":"{0} 秒","seconds":"{0} 秒","second_short":"{0} 秒","seconds_short":"{0} 秒","week":"{0}周","weeks":"{0}周","week_short":"{0}周","weeks_short":"{0}周","year":"{0} 年","years":"{0} 年","year_short":"{0}年"},"post_status":{"media_description_error":"無法更新媒體,請重試","media_description":"媒體描述","scope":{"unlisted":"不公開 - 不會發送到公共時間軸","public":"公共 - 發送到公共時間軸","private":"僅關注者 - 只有關注了你的人能看到","direct":"私信 - 只發送給被提及的用戶"},"scope_notice":{"unlisted":"本條內容既不在公共時間線,也不會在所有已知網絡上可見","private":"關注你的人才能看到本條內容","public":"本條帖子可以被所有人看到"},"preview_empty":"空的","preview":"預覽","posting":"正在發送","direct_warning_to_first_only":"本條內容只有被在消息開始處提及的用戶能夠看到。","direct_warning_to_all":"本條內容只有被提及的用戶能夠看到。","account_not_locked_warning":"你的帳號沒有 {0}。任何人都可以關注你並瀏覽你的上鎖內容。","new_status":"發佈新發文","content_warning":"主題(可選)","content_type":{"text/bbcode":"BBCode","text/markdown":"Markdown","text/html":"HTML","text/plain":"純文本"},"attachments_sensitive":"標記附件為敏感內容","account_not_locked_warning_link":"上鎖","default":"剛剛抵達洛杉磯。","empty_status_error":"不能發布沒有內容,沒有附件的發文","post":"發送"},"errors":{"storage_unavailable":"Pleroma無法訪問瀏覽器存儲。您的登錄名或本地設置將不會保存,您可能會遇到意外問題。嘗試啟用Cookie。"},"timeline":{"error_fetching":"獲取更新時發生錯誤","conversation":"對話","no_retweet_hint":"這條內容僅關注者可見,或者是私信,因此不能轉發","collapse":"摺疊","load_older":"載入更早的發文","repeated":"已轉發","show_new":"顯示新內容","reload":"重新載入","up_to_date":"已是最新","no_more_statuses":"没有更多發文","no_statuses":"没有發文","error":"取得時間線時發生錯誤:{0}","socket_reconnected":"已建立實時連接","socket_broke":"丟失實時連接:CloseEvent代碼{0}"},"interactions":{"load_older":"載入更早的互動","moves":"用戶遷移","follows":"新的關注者","favs_repeats":"轉發和喜歡"},"selectable_list":{"select_all":"選擇全部"},"remote_user_resolver":{"error":"未找到。","searching_for":"搜索","remote_user_resolver":"遠程用戶解析器"},"registration":{"validations":{"password_confirmation_match":"不能和密碼一樣","password_confirmation_required":"不能留空","password_required":"不能留空","email_required":"不能留空","fullname_required":"不能留空","username_required":"不能留空"},"fullname":"顯示名稱","bio_placeholder":"例如:\\n你好,我是玲音。\\n我是一個住在日本郊區的動畫少女。你可能在 Wired 見過我。","fullname_placeholder":"例如:岩倉玲音","username_placeholder":"例如:lain","new_captcha":"點擊圖片獲取新的驗證碼","captcha":"CAPTCHA","token":"邀請碼","registration":"註冊","password_confirm":"確認密碼","email":"電子郵箱","bio":"簡介","reason_placeholder":"此實例的註冊需要手動批准。\\n請讓管理知道您為什麼想要註冊。","reason":"註冊理由","register":"註冊"},"user_card":{"its_you":"就是你!!","media":"媒體","per_day":"每天","remote_follow":"跨站關注","subscribe":"訂閱","mute_progress":"靜音中…","admin_menu":{"delete_account":"刪除賬號","delete_user":"刪除用戶","delete_user_confirmation":"你確認嗎?此操作無法撤銷。","moderation":"調停","grant_admin":"賦予管理權限","revoke_admin":"撤銷管理權限","grant_moderator":"賦予主持人權限","revoke_moderator":"撤銷主持人權限","activate_account":"啟用賬號","deactivate_account":"關閉賬號","force_nsfw":"標記所有的帖子都是工作場合不適","strip_media":"從帖子裡刪除媒體文件","force_unlisted":"強制帖子為不公開","sandbox":"強制帖子為只有關注者可看","disable_remote_subscription":"禁止從遠程實例關注用戶","disable_any_subscription":"完全禁止關注用戶","quarantine":"從聯合實例中禁止用戶帖子"},"approve":"批准","block":"封鎖","blocked":"已封鎖!","deny":"拒絕","favorites":"喜歡","follow":"關注","follow_sent":"請求已發送!","follow_progress":"請求中…","follow_unfollow":"取消關注","followees":"正在關注","followers":"關注者","following":"正在關注!","follows_you":"關注了你!","hidden":"已隱藏","mention":"提及","message":"消息","mute":"靜音","muted":"已靜音","report":"報告","statuses":"發文","unsubscribe":"退訂","unblock":"取消封鎖","unblock_progress":"取消封鎖中…","block_progress":"封鎖中…","unmute":"取消靜音","unmute_progress":"取消靜音中…","hide_repeats":"隱藏轉發","show_repeats":"顯示轉發","roles":{"moderator":"主持人","admin":"管理員"},"highlight":{"disabled":"無突出顯示","solid":"單色背景","striped":"條紋背景","side":"彩條"},"bot":"機器人","edit_profile":"編輯個人資料"},"user_profile":{"timeline_title":"用戶時間線","profile_does_not_exist":"抱歉,此個人資料不存在。","profile_loading_error":"抱歉,載入個人資料時出錯。"},"user_reporting":{"title":"報告 {0}","add_comment_description":"此報告會發送給你的實例管理員。你可以在下面提供更多詳細信息解釋報告的緣由:","forward_to":"轉發 {0}","submit":"提交","generic_error":"當處理你的請求時,發生了一個錯誤。","additional_comments":"其它評論","forward_description":"這個賬號是從另外一個服務器。同時發送一個報告到那裡?"},"who_to_follow":{"more":"更多","who_to_follow":"推薦關注"},"tool_tip":{"media_upload":"上傳多媒體","repeat":"轉發","favorite":"喜歡","add_reaction":"添加互動","reply":"回覆","user_settings":"用戶設置","accept_follow_request":"接受關注請求","reject_follow_request":"拒絕關注請求","bookmark":"書籤"},"upload":{"file_size_units":{"B":"B","KiB":"KiB","TiB":"TiB","MiB":"MiB","GiB":"GiB"},"error":{"base":"上傳失敗。","file_too_big":"文件太大[{filesize} {filesizeunit} / {allowedsize} {allowedsizeunit}]","default":"稍後再試","message":"上傳錯誤:{0}"}},"search":{"people":"人","hashtags":"標籤","person_talking":"{count} 人正在討論","people_talking":"{count} 人正在討論","no_results":"沒有搜索結果"},"password_reset":{"forgot_password":"忘記密碼了?","password_reset":"重置密碼","instruction":"輸入你的電郵地址或者用戶名,我們將發送一個鏈接到你的郵箱,用於重置密碼。","placeholder":"你的電郵地址或者用戶名","check_email":"檢查你的郵箱,會有一個鏈接用於重置密碼。","return_home":"回到首頁","too_many_requests":"你觸發了嘗試的限制,請稍後再試。","password_reset_disabled":"密碼重置已經被禁用。請聯繫你的實例管理員。","password_reset_required":"您必須重置密碼才能登陸。","password_reset_required_but_mailer_is_disabled":"您必須重置密碼,但是密碼重置被禁用了。請聯繫您所在實例的管理員。"}}')}}]); +//# sourceMappingURL=32.19ca50edbb4d711838dc.js.map \ No newline at end of file diff --git a/priv/static/static/js/32.19ca50edbb4d711838dc.js.map b/priv/static/static/js/32.19ca50edbb4d711838dc.js.map new file mode 100644 index 000000000..99ad6e050 --- /dev/null +++ b/priv/static/static/js/32.19ca50edbb4d711838dc.js.map @@ -0,0 +1 @@ +{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/32.19ca50edbb4d711838dc.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/32.899035ede0115c5c0f99.js b/priv/static/static/js/32.899035ede0115c5c0f99.js deleted file mode 100644 index 6faf5ed33..000000000 --- a/priv/static/static/js/32.899035ede0115c5c0f99.js +++ /dev/null @@ -1,2 +0,0 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[32],{612:function(e){e.exports=JSON.parse('{"emoji":{"unicode":"統一碼繪文字","custom":"自定義繪文字","add_emoji":"插入繪文字","search_emoji":"搜索繪文字","keep_open":"選擇器保持打開","emoji":"繪文字","stickers":"貼紙","load_all":"加載所有繪文字(共 {emojiAmount} 個)","load_all_hint":"最先加載的 {saneAmount} ,加載全部繪文字可能會帶來性能問題。"},"polls":{"not_enough_options":"投票的選項太少","expired":"投票 {0} 前已結束","expires_in":"投票於 {0} 內結束","expiry":"投票期限","multiple_choices":"多選","single_choice":"單選","type":"問卷類型","vote":"投票","votes":"票","option":"選項","add_option":"增加選項","add_poll":"增加投票","votes_count":"{count} 票 | {count} 票","people_voted_count":"{count} 人已投票 | {count} 人已投票"},"notifications":{"reacted_with":"作出了 {0} 的反應","migrated_to":"遷移到","no_more_notifications":"沒有更多的通知","repeated_you":"轉發了你的發文","read":"已閱!","notifications":"通知","load_older":"載入更早的通知","follow_request":"想要關注你","followed_you":"關注了你","favorited_you":"喜歡了你的發文","broken_favorite":"未知的狀態,正在搜索中…","error":"獲取通知錯誤:{0}"},"nav":{"chats":"聊天","timelines":"時間線","preferences":"偏好設置","who_to_follow":"推薦關注","search":"搜索","user_search":"用戶搜索","bookmarks":"書籤","twkn":"已知網絡","timeline":"時間線","public_tl":"公共時間線","dms":"私信","interactions":"互動","mentions":"提及","friend_requests":"關注請求","back":"後退","administration":"管理員","about":"關於","home_timeline":"家時間線"},"media_modal":{"next":"往後","previous":"往前"},"login":{"heading":{"recovery":"雙重因素恢復","totp":"雙重因素驗證"},"recovery_code":"恢復碼","enter_two_factor_code":"輸入一個雙重因素驗證碼","enter_recovery_code":"輸入一個恢復碼","authentication_code":"驗證碼","hint":"登錄後加入討論","username":"用戶名","register":"註冊","placeholder":"例:鈴音","password":"密碼","logout":"登出","description":"用 OAuth 登入","login":"登入"},"importer":{"error":"導入此文件時出現一個錯誤。","success":"導入成功。","submit":"提交"},"image_cropper":{"cancel":"取消","save_without_cropping":"保存不裁剪","save":"保存","crop_picture":"裁剪圖片"},"general":{"peek":"窺視","close":"關閉","verify":"驗證","confirm":"確認","enable":"啟用","disable":"禁用","cancel":"取消","dismiss":"忽略","show_less":"收起","show_more":"展開","optional":"可選","retry":"再試","error_retry":"請再試","generic_error":"發生一個錯誤","loading":"載入中…","more":"更多","submit":"提交","apply":"應用","role":{"moderator":"主持人","admin":"管理員"}},"finder":{"find_user":"尋找用戶","error_fetching_user":"獲取用戶時發生錯誤"},"features_panel":{"who_to_follow":"推薦關注","title":"特色","text_limit":"文字數量限制","scope_options":"可見範圍設置","media_proxy":"媒體代理","pleroma_chat_messages":"Pleroma 聊天","chat":"聊天","gopher":"Gopher","upload_limit":"上傳限制"},"exporter":{"processing":"正在處理,稍後會提示您下載文件","export":"導出"},"domain_mute_card":{"unmute_progress":"取消靜音中…","unmute":"取消靜音","mute_progress":"靜音中…","mute":"靜音"},"shoutbox":{"title":"留言板"},"about":{"staff":"職員","mrf":{"simple":{"media_nsfw_desc":"這個實例強迫以下實例的帖子媒體設定為敏感:","media_nsfw":"媒體強制設定為敏感","media_removal_desc":"這個實例移除以下實例的帖子媒體:","media_removal":"移除媒體","ftl_removal_desc":"這個實例在所有已知網絡中移除下列實例:","ftl_removal":"從所有已知網路中移除","quarantine_desc":"本實例只會把公開發文發送到下列實例:","quarantine":"隔離","reject_desc":"本實例不會接收來自下列實例的消息:","reject":"拒絕","accept_desc":"本實例只接收來自下列實例的消息:","simple_policies":"站規","accept":"接受"},"mrf_policies_desc":"MRF 策略會影響本實例的互通行為。以下策略已啟用:","keyword":{"ftl_removal":"從“全部已知網絡”時間線上移除","replace":"取代","reject":"拒絕","is_replaced_by":"→","keyword_policies":"關鍵字政策"},"mrf_policies":"已啟用的MRF政策","federation":"聯邦"}},"settings":{"style":{"common":{"color":"顏色","contrast":{"context":{"18pt":"大字文本 (18pt+)","text":"文本"},"level":{"aaa":"符合 AAA 等級準則(推薦)","aa":"符合 AA 等級準則(最低)","bad":"不符合任何輔助功能指南"},"hint":"對比度是 {ratio}, 它 {level} {context}"},"opacity":"透明度"},"advanced_colors":{"faint_text":"灰度文字","alert_error":"錯誤","badge_notification":"通知","alert":"提醒或警告背景色","_tab_label":"高级","alert_warning":"警告","alert_neutral":"中性","post":"帖子/用戶簡介","badge":"徽章背景","popover":"提示框,菜單,彈出框","panel_header":"面板標題","top_bar":"頂欄","borders":"邊框","buttons":"按鈕","inputs":"輸入框","underlay":"底襯","poll":"投票統計圖","icons":"圖標","highlight":"強調元素","pressed":"按下","selectedPost":"選中的帖子","selectedMenu":"選中的菜單項","disabled":"關閉","toggled":"切換","tabs":"標籤","chat":{"incoming":"收到","outgoing":"發出","border":"邊框"},"wallpaper":"桌布"},"preview":{"header_faint":"這很正常","header":"預覽","content":"內容","error":"例子錯誤","button":"按鈕","text":"有堆 {0} 和 {1}","mono":"內容","input":"剛剛抵達洛杉磯.","faint_link":"有用的手冊","fine_print":"閱讀我們的 {0} ,然而什麼有用的也學不到!","checkbox":"我已經瀏覽了條款及細則","link":"一個很好的小鏈接"},"shadows":{"override":"覆寫","_tab_label":"陰影和燈光","component":"組件","shadow_id":"陰影 #{value}","blur":"模糊","spread":"擴散","inset":"插圖","hintV3":"對於陰影,您還可以使用{0}表示法來使用其他顏色插槽。","filter_hint":{"always_drop_shadow":"警告,此陰影設置會總是使用 {0} ,如果瀏覽器支持的話。","drop_shadow_syntax":"{0} 不支持參數 {1} 和關鍵詞 {2} 。","avatar_inset":"請注意組合兩個內部和非內部的陰影到頭像上,在透明頭像上可能會有意料之外的效果。","spread_zero":"陰影的擴散 > 0 會同設置成零一樣","inset_classic":"插入內部的陰影會使用 {0}"},"components":{"panel":"面板","panelHeader":"面板標題","topBar":"頂欄","avatar":"用戶頭像(在個人資料欄)","avatarStatus":"用戶頭像(在帖子顯示欄)","popup":"彈窗和工具提示","button":"按鈕","buttonHover":"按鈕(懸停)","buttonPressed":"按鈕(按下)","buttonPressedHover":"按鈕(按下和懸停)","input":"輸入框"}},"switcher":{"use_snapshot":"舊版","load_theme":"載入主題","keep_color":"保留顏色","keep_shadows":"保留陰影","keep_opacity":"保留透明度","keep_roundness":"保留圓角","help":{"migration_napshot_gone":"不知出於何種原因,主題快照缺失了,一些地方可能與您印象中的不符。","snapshot_source_mismatch":"版本衝突:很有可能是 FE 版本回滾後再次升級了,如果您使用舊版本的 FE 更改了主題那麼您可能需要使用舊版本,否則請使用新版本。","future_version_imported":"您導入的文件來自更高版本的 FE。","older_version_imported":"您導入的文件來自舊版本的 FE。","snapshot_missing":"在文件中沒有主題快照,所以網站外觀可能會與原來預想的不同。","fe_upgraded":"PleromaFE 的主題引擎隨著版本更新升級了。","fe_downgraded":"PleromaFE 的版本回滾了。","upgraded_from_v2":"PleromaFE 已升級,主題會和你記憶中的不太一樣。","v2_imported":"您導入的文件是舊版 FE 的。我們儘可能保持兼容性,但還是可能出現不一致的情況。","snapshot_present":"載入快照已加載,因此所有值均被覆蓋。 您可以改為載入主題實際數據。","migration_snapshot_ok":"為保萬無一失,載入了主題快照。您可以試著載入主題數據。"},"use_source":"新版本","keep_as_is":"保持原狀","clear_opacity":"清除透明度","clear_all":"清除全部","reset":"重置","keep_fonts":"保留字體","save_load_hint":"\\"保留\\" 選項在選擇或載入主題時保留當前設置的選項,在導出主題時還會存儲上述選項。當所有複選框未設置時,導出主題將保存所有內容。"},"fonts":{"components":{"interface":"界面","input":"輸入框","post":"發帖文字","postCode":"帖子中使用等間距文字(富文本)"},"_tab_label":"字體","help":"給用戶界面的元素選擇字體。選擇 “自選”的你必須輸入確切的字體名稱。","family":"字體名稱","size":"大小 (像素)","weight":"字重 (粗體))","custom":"自選"},"common_colors":{"foreground_hint":"點擊”高級“ 標籤進行細緻的控制","main":"常用顏色","_tab_label":"共同","rgbo":"圖標,強調,徽章"},"radii":{"_tab_label":"圓角"}},"notification_setting_block_from_strangers":"屏蔽來自你沒有關注的用戶的通知","user_mutes":"用户","hide_followers_count_description":"不顯示關注者數量","no_rich_text_description":"不顯示富文本格式","notification_visibility_moves":"用戶遷移","notification_visibility_repeats":"轉發","notification_visibility_mentions":"提及","notification_visibility_likes":"喜歡","interfaceLanguage":"界面語言","instance_default":"(默認:{value})","inputRadius":"輸入框","import_theme":"導入預置主題","import_followers_from_a_csv_file":"從 csv 文件中導入關注","import_blocks_from_a_csv_file":"從 csv 文件中導入封鎖黑名單名單","hide_filtered_statuses":"隱藏過濾的發文","lock_account_description":"你需要手動審核關注請求","loop_video":"循環視頻","loop_video_silent_only":"只循環沒有聲音的視頻(例如:Mastodon 裡的“GIF”)","mutes_tab":"靜音","play_videos_in_modal":"在彈出框內播放視頻","profile_fields":{"add_field":"添加字段","name":"標籤","value":"內容","label":"個人資料元數據"},"use_contain_fit":"生成縮略圖時不要裁剪附件","notification_visibility":"要顯示的通知類型","notification_visibility_follows":"關注","new_email":"新電郵","subject_line_mastodon":"比如mastodon: copy as is","reset_background_confirm":"您確定要重置個人資料背景圖嗎?","reset_banner_confirm":"您確定要重置橫幅圖片嗎?","reset_avatar_confirm":"您確定要重置頭像嗎?","reset_profile_banner":"重置橫幅圖片","reset_profile_background":"重置個人資料背景圖","reset_avatar":"重置頭像","discoverable":"允許通過搜索檢索等服務找到此賬號","delete_account_error":"刪除賬戶時發生錯誤,如果一直刪除不了,請聯繫實例管理員。","composing":"寫作設置","chatMessageRadius":"聊天訊息","mfa":{"confirm_and_enable":"確認並啟用OTP","setup_otp":"設置OTP","otp":"OTP","wait_pre_setup_otp":"預設OTP","verify":{"desc":"要啟用雙因素驗證,請把你的雙因素驗證 app 裡的數字輸入:"},"scan":{"secret_code":"密鑰","desc":"使用你的雙因素驗證 app,掃瞄這個二維碼,或者輸入這些文字密鑰:","title":"掃瞄"},"authentication_methods":"身份驗證方法","recovery_codes_warning":"抄寫這些號碼,或者保存在安全的地方。這些號碼不會再次顯示。如果你無法訪問你的 2FA app,也丟失了你的恢復碼,你的賬號就再也無法登錄了。","waiting_a_recovery_codes":"正在接收備份碼…","recovery_codes":"恢復碼。","warning_of_generate_new_codes":"當你生成新的恢復碼時,你的舊恢復碼就失效了。","generate_new_recovery_codes":"生成新的恢復碼","title":"雙因素驗證"},"new_password":"新密碼","name_bio":"名字及簡介","name":"名字","domain_mutes":"域名","delete_account_instructions":"在下面輸入密碼,以確認刪除帳戶。","delete_account_description":"永久刪除你的帳號和所有數據。","delete_account":"刪除帳戶","default_vis":"默認可見性範圍","data_import_export_tab":"數據導入/導出","mutes_and_blocks":"靜音與封鎖","current_password":"當前密碼","confirm_new_password":"確認新密碼","collapse_subject":"摺疊帶標題的內容","checkboxRadius":"複選框","instance_default_simple":"(默認)","interface":"界面","invalid_theme_imported":"您所選擇的主題文件不被 Pleroma 支持,因此主題未被修改。","limited_availability":"在您的瀏覽器中無法使用","links":"鏈接","changed_password":"成功修改了密碼!","change_password_error":"修改密碼的時候出了點問題。","change_password":"修改密碼","changed_email":"郵箱修改成功!","bot":"這是一個機器人賬號","change_email":"修改電子郵箱","cRed":"紅色(取消)","cOrange":"橙色(收藏)","cGreen":"綠色(轉發)","cBlue":"藍色(回覆,關注)","btnRadius":"按鈕","notification_visibility_emoji_reactions":"互動","no_blocks":"沒有封鎖","no_mutes":"沒有靜音","hide_follows_description":"不要顯示我所關注的人","hide_followers_description":"不要顯示關注我的人","hide_follows_count_description":"不顯示關注數","nsfw_clickthrough":"將敏感附件和鏈接隱藏,點擊才能打開","valid_until":"有效期至","panelRadius":"面板","pause_on_unfocused":"在離開頁面時暫停時間線推送","notifications":"通知","notification_setting_filters":"過濾器","notification_setting_privacy":"隱私","notification_mutes":"要停止收到某個指定的用戶的通知,請使用靜音功能。","notification_blocks":"封鎖一個用戶會停掉所有他的通知,等同於取消關注。","enable_web_push_notifications":"啟用 web 推送通知","presets":"預置","profile_background":"配置文件背景圖","profile_banner":"橫幅圖片","profile_tab":"個人資料","radii_help":"設置界面邊緣的圓角 (單位:像素)","reply_visibility_all":"顯示所有回覆","autohide_floating_post_button":"自動隱藏新帖子的按鈕(移動設備)","saving_err":"保存設置時發生錯誤","saving_ok":"設置已保存","search_user_to_block":"搜索你想屏蔽的用戶","search_user_to_mute":"搜索你想要隱藏的用戶","security_tab":"安全","set_new_avatar":"設置新頭像","set_new_profile_background":"設置新的個人背景","set_new_profile_banner":"設置新的個人橫幅","settings":"設置","subject_input_always_show":"總是顯示主題框","subject_line_behavior":"回覆時複製主題","subject_line_email":"比如電郵: \\"re: 主題\\"","subject_line_noop":"不要複製","post_status_content_type":"發文內容類型","stop_gifs":"鼠標懸停時播放GIF","streaming":"開啟滾動到頂部時的自動推送","text":"文本","theme":"主題","theme_help":"使用十六進制代碼(#rrggbb)來設置主題顏色。","theme_help_v2_1":"你也可以通過切換複選框來覆蓋某些組件的顏色和透明。使用“清除所有”來清楚所有覆蓋設置。","theme_help_v2_2":"某些條目下的圖標是背景或文本對比指示器,鼠標懸停可以獲取詳細信息。請記住,使用透明度來顯示最差的情況。","tooltipRadius":"提醒","upload_a_photo":"上傳照片","user_settings":"用戶設置","values":{"false":"否","true":"是"},"avatar_size_instruction":"推薦的頭像圖片最小的尺寸是 150x150 像素。","emoji_reactions_on_timeline":"在時間線上顯示繪文字互動","export_theme":"導出預置主題","filtering":"過濾","filtering_explanation":"所有包含以下詞彙的內容都會被隱藏,一行一個","follow_export":"導出關注","follow_export_button":"將關注導出成 csv 文件","follow_import":"導入關注","follow_import_error":"導入關注時錯誤","follows_imported":"關注已導入!尚需要一些時間來處理。","hide_attachments_in_convo":"在對話中隱藏附件","hide_attachments_in_tl":"在時間線上隱藏附件","hide_muted_posts":"不顯示被靜音的用戶的帖子","max_thumbnails":"最多每個帖子所能顯示的縮略圖數量","hide_isp":"隱藏指定實例的面板","preload_images":"預載圖片","use_one_click_nsfw":"點擊一次以打開工作場所不適宜的附件","hide_post_stats":"隱藏帖子的統計數據(例如:收藏的次數)","hide_user_stats":"隱藏用戶的統計數據(例如:關注者的數量)","general":"通用","foreground":"前景","blocks_tab":"封鎖","blocks_imported":"封鎖黑名單導入成功!需要一點時間來處理。","block_import_error":"導入封鎖黑名單出錯","block_import":"封鎖黑名單導入","block_export_button":"導出你的封鎖黑名單到一個 csv 文件","block_export":"封鎖黑名單導出","bio":"簡介","background":"背景","avatarRadius":"頭像","avatarAltRadius":"頭像(通知)","avatar":"頭像","attachments":"附件","attachmentRadius":"附件","allow_following_move":"正在關注的賬號遷移時自動重新關注","enter_current_password_to_confirm":"輸入你當前密碼來確認你的身份","security":"安全","app_name":"App 名稱","change_email_error":"修改你的電子郵箱時發生錯誤。","type_domains_to_mute":"搜索需要隱藏的域名","pad_emoji":"從繪文字選擇器插入繪文字時,在繪文字兩側插入空格","useStreamingApi":"實時接收發佈以及通知","minimal_scopes_mode":"最小發文範圍","scope_copy":"回覆時的複製範圍(私信是總是複製的)","reply_visibility_self":"只顯示發送給我的回覆","reply_visibility_following":"只顯示發送給我的回覆/發送給我關注的用戶的回覆","replies_in_timeline":"時間線中的回覆","revoke_token":"撤消","show_admin_badge":"顯示管理徽章","accent":"強調色","greentext":"前文箭頭","show_moderator_badge":"顯示主持人徽章","oauth_tokens":"OAuth代幣","token":"代幣","refresh_token":"刷新token","useStreamingApiWarning":"(不推薦使用,實驗性的,已知跳過文章)","fun":"有趣","notification_setting_hide_notification_contents":"隱藏推送通知中的發送者與內容信息","version":{"title":"版本","backend_version":"後端版本","frontend_version":"前端版本"},"virtual_scrolling":"優化時間線渲染","import_mutes_from_a_csv_file":"從CSV文件導入靜音","mutes_imported":"靜音導入了!處理它們將需要一段時間。","mute_import":"靜音導入","mute_import_error":"導入靜音時出錯","mute_export_button":"將靜音導出到csv文件","mute_export":"靜音導出","hide_wallpaper":"隱藏實例桌布","reply_visibility_self_short":"只顯示對我本人的回复","reply_visibility_following_short":"顯示對我關注的人的回复","hide_all_muted_posts":"不顯示已隱藏的帖子","hide_media_previews":"隱藏媒體預覽","word_filter":"詞過濾","setting_changed":"與默認設置不同","more_settings":"更多設置","save":"保存更改","file_export_import":{"errors":{"invalid_file":"所選文件不是受支持的Pleroma設置備份。 沒有進行任何更改。","file_too_new":"不兼容的主版本:{fileMajor},此 PleromaFE(設置版本 {feMajor})過舊,無法處理","file_too_old":"不兼容的主版本:{fileMajor},文件版本過舊,不受支持(最小設置版本 {feMajor})","file_slightly_new":"檔案的小版本不同,有些設置可能無法載入"},"restore_settings":"從文件還原設置","backup_settings_theme":"備份設置和主題到文件","backup_settings":"備份設置到文件","backup_restore":"設定備份"},"sensitive_by_default":"默認標記發文為敏感內容"},"chats":{"more":"更多","delete_confirm":"您確實要刪除此消息嗎?","error_loading_chat":"加載聊天時出了點問題。","error_sending_message":"發送消息時出了點問題。","empty_chat_list_placeholder":"您還沒有任何聊天記錄。 開始新的聊天!","new":"新聊天","empty_message_error":"無法發布空消息","you":"你:","message_user":"發消息給 {nickname}","delete":"刪除","chats":"聊天"},"file_type":{"audio":"音頻","video":"視頻","image":"图片","file":"檔案"},"display_date":{"today":"今天"},"status":{"mute_conversation":"靜音對話","replies_list":"回覆:","reply_to":"回覆","pin":"在個人資料置頂","unpin":"取消在個人資料置頂","favorites":"喜歡","repeats":"轉發","delete":"刪除發文","pinned":"置頂","bookmark":"書籤","unbookmark":"取消書籤","delete_confirm":"你真的想要刪除這條發文嗎?","unmute_conversation":"對話取消靜音","status_unavailable":"發文不可取得","copy_link":"複製發文鏈接","thread_muted":"静音線程","show_full_subject":"顯示完整標題","thread_muted_and_words":",有这些字:","hide_full_subject":"隱藏完整標題","show_content":"顯示內容","hide_content":"隱藏內容","status_deleted":"該帖已被刪除","expand":"展开","external_source":"外部來源","nsfw":"工作不安全"},"time":{"hours":"{0} 時","days_short":"{0}天","day_short":"{0}天","days":"{0} 天","hour":"{0} 時","hour_short":"{0}時","hours_short":"{0}時","years_short":"{0} y","now":"剛剛","day":"{0} 天","in_future":"還有 {0}","in_past":"{0} 之前","minute":"{0} 分鐘","minute_short":"{0} 分","minutes_short":"{0} 分","minutes":"{0} 分鐘","month":"{0} 月","months":"{0} 月","month_short":"{0} 月","months_short":"{0} 月","now_short":"剛剛","second":"{0} 秒","seconds":"{0} 秒","second_short":"{0} 秒","seconds_short":"{0} 秒","week":"{0}周","weeks":"{0}周","week_short":"{0}周","weeks_short":"{0}周","year":"{0} 年","years":"{0} 年","year_short":"{0}年"},"post_status":{"media_description_error":"無法更新媒體,請重試","media_description":"媒體描述","scope":{"unlisted":"不公開 - 不會發送到公共時間軸","public":"公共 - 發送到公共時間軸","private":"僅關注者 - 只有關注了你的人能看到","direct":"私信 - 只發送給被提及的用戶"},"scope_notice":{"unlisted":"本條內容既不在公共時間線,也不會在所有已知網絡上可見","private":"關注你的人才能看到本條內容","public":"本條帖子可以被所有人看到"},"preview_empty":"空的","preview":"預覽","posting":"正在發送","direct_warning_to_first_only":"本條內容只有被在消息開始處提及的用戶能夠看到。","direct_warning_to_all":"本條內容只有被提及的用戶能夠看到。","account_not_locked_warning":"你的帳號沒有 {0}。任何人都可以關注你並瀏覽你的上鎖內容。","new_status":"發佈新發文","content_warning":"主題(可選)","content_type":{"text/bbcode":"BBCode","text/markdown":"Markdown","text/html":"HTML","text/plain":"純文本"},"attachments_sensitive":"標記附件為敏感內容","account_not_locked_warning_link":"上鎖","default":"剛剛抵達洛杉磯。","empty_status_error":"不能發布沒有內容,沒有附件的發文","post":"發送"},"errors":{"storage_unavailable":"Pleroma無法訪問瀏覽器存儲。您的登錄名或本地設置將不會保存,您可能會遇到意外問題。嘗試啟用Cookie。"},"timeline":{"error_fetching":"獲取更新時發生錯誤","conversation":"對話","no_retweet_hint":"這條內容僅關注者可見,或者是私信,因此不能轉發","collapse":"摺疊","load_older":"載入更早的發文","repeated":"已轉發","show_new":"顯示新內容","reload":"重新載入","up_to_date":"已是最新","no_more_statuses":"没有更多發文","no_statuses":"没有發文","error":"取得時間線時發生錯誤:{0}","socket_reconnected":"已建立實時連接","socket_broke":"丟失實時連接:CloseEvent代碼{0}"},"interactions":{"load_older":"載入更早的互動","moves":"用戶遷移","follows":"新的關注者","favs_repeats":"轉發和喜歡"},"selectable_list":{"select_all":"選擇全部"},"remote_user_resolver":{"error":"未找到。","searching_for":"搜索","remote_user_resolver":"遠程用戶解析器"},"registration":{"validations":{"password_confirmation_match":"不能和密碼一樣","password_confirmation_required":"不能留空","password_required":"不能留空","email_required":"不能留空","fullname_required":"不能留空","username_required":"不能留空"},"fullname":"顯示名稱","bio_placeholder":"例如:\\n你好,我是玲音。\\n我是一個住在日本郊區的動畫少女。你可能在 Wired 見過我。","fullname_placeholder":"例如:岩倉玲音","username_placeholder":"例如:lain","new_captcha":"點擊圖片獲取新的驗證碼","captcha":"CAPTCHA","token":"邀請碼","registration":"註冊","password_confirm":"確認密碼","email":"電子郵箱","bio":"簡介","reason_placeholder":"此實例的註冊需要手動批准。\\n請讓管理知道您為什麼想要註冊。","reason":"註冊理由","register":"註冊"},"user_card":{"its_you":"就是你!!","media":"媒體","per_day":"每天","remote_follow":"跨站關注","subscribe":"訂閱","mute_progress":"靜音中…","admin_menu":{"delete_account":"刪除賬號","delete_user":"刪除用戶","delete_user_confirmation":"你確認嗎?此操作無法撤銷。","moderation":"調停","grant_admin":"賦予管理權限","revoke_admin":"撤銷管理權限","grant_moderator":"賦予主持人權限","revoke_moderator":"撤銷主持人權限","activate_account":"啟用賬號","deactivate_account":"關閉賬號","force_nsfw":"標記所有的帖子都是工作場合不適","strip_media":"從帖子裡刪除媒體文件","force_unlisted":"強制帖子為不公開","sandbox":"強制帖子為只有關注者可看","disable_remote_subscription":"禁止從遠程實例關注用戶","disable_any_subscription":"完全禁止關注用戶","quarantine":"從聯合實例中禁止用戶帖子"},"approve":"批准","block":"封鎖","blocked":"已封鎖!","deny":"拒絕","favorites":"喜歡","follow":"關注","follow_sent":"請求已發送!","follow_progress":"請求中…","follow_again":"再次發送請求?","follow_unfollow":"取消關注","followees":"正在關注","followers":"關注者","following":"正在關注!","follows_you":"關注了你!","hidden":"已隱藏","mention":"提及","message":"消息","mute":"靜音","muted":"已靜音","report":"報告","statuses":"發文","unsubscribe":"退訂","unblock":"取消封鎖","unblock_progress":"取消封鎖中…","block_progress":"封鎖中…","unmute":"取消靜音","unmute_progress":"取消靜音中…","hide_repeats":"隱藏轉發","show_repeats":"顯示轉發","roles":{"moderator":"主持人","admin":"管理員"},"highlight":{"disabled":"無突出顯示","solid":"單色背景","striped":"條紋背景","side":"彩條"},"bot":"機器人"},"user_profile":{"timeline_title":"用戶時間線","profile_does_not_exist":"抱歉,此個人資料不存在。","profile_loading_error":"抱歉,載入個人資料時出錯。"},"user_reporting":{"title":"報告 {0}","add_comment_description":"此報告會發送給你的實例管理員。你可以在下面提供更多詳細信息解釋報告的緣由:","forward_to":"轉發 {0}","submit":"提交","generic_error":"當處理你的請求時,發生了一個錯誤。","additional_comments":"其它評論","forward_description":"這個賬號是從另外一個服務器。同時發送一個報告到那裡?"},"who_to_follow":{"more":"更多","who_to_follow":"推薦關注"},"tool_tip":{"media_upload":"上傳多媒體","repeat":"轉發","favorite":"喜歡","add_reaction":"添加互動","reply":"回覆","user_settings":"用戶設置","accept_follow_request":"接受關注請求","reject_follow_request":"拒絕關注請求","bookmark":"書籤"},"upload":{"file_size_units":{"B":"B","KiB":"KiB","TiB":"TiB","MiB":"MiB","GiB":"GiB"},"error":{"base":"上傳失敗。","file_too_big":"文件太大[{filesize} {filesizeunit} / {allowedsize} {allowedsizeunit}]","default":"稍後再試","message":"上傳錯誤:{0}"}},"search":{"people":"人","hashtags":"標籤","person_talking":"{count} 人正在討論","people_talking":"{count} 人正在討論","no_results":"沒有搜索結果"},"password_reset":{"forgot_password":"忘記密碼了?","password_reset":"重置密碼","instruction":"輸入你的電郵地址或者用戶名,我們將發送一個鏈接到你的郵箱,用於重置密碼。","placeholder":"你的電郵地址或者用戶名","check_email":"檢查你的郵箱,會有一個鏈接用於重置密碼。","return_home":"回到首頁","too_many_requests":"你觸發了嘗試的限制,請稍後再試。","password_reset_disabled":"密碼重置已經被禁用。請聯繫你的實例管理員。","password_reset_required":"您必須重置密碼才能登陸。","password_reset_required_but_mailer_is_disabled":"您必須重置密碼,但是密碼重置被禁用了。請聯繫您所在實例的管理員。"}}')}}]); -//# sourceMappingURL=32.899035ede0115c5c0f99.js.map \ No newline at end of file diff --git a/priv/static/static/js/32.899035ede0115c5c0f99.js.map b/priv/static/static/js/32.899035ede0115c5c0f99.js.map deleted file mode 100644 index 242f78de5..000000000 --- a/priv/static/static/js/32.899035ede0115c5c0f99.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":[],"names":[],"mappings":"","file":"static/js/32.899035ede0115c5c0f99.js","sourceRoot":""} \ No newline at end of file diff --git a/priv/static/static/js/4.564b2a8cbfe4d5e93949.js b/priv/static/static/js/4.7077bff64d63355b1635.js similarity index 77% rename from priv/static/static/js/4.564b2a8cbfe4d5e93949.js rename to priv/static/static/js/4.7077bff64d63355b1635.js index eb8241c90..cb97d3855 100644 --- a/priv/static/static/js/4.564b2a8cbfe4d5e93949.js +++ b/priv/static/static/js/4.7077bff64d63355b1635.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{614:function(t,e,i){var c=i(615);"string"==typeof c&&(c=[[t.i,c,""]]),c.locals&&(t.exports=c.locals);(0,i(7).default)("cc6cdea4",c,!0,{})},615:function(t,e,i){(t.exports=i(6)(!1)).push([t.i,".sticker-picker{width:100%}.sticker-picker .contents{min-height:250px}.sticker-picker .contents .sticker-picker-content{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0 4px}.sticker-picker .contents .sticker-picker-content .sticker{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;margin:4px;width:56px;height:56px}.sticker-picker .contents .sticker-picker-content .sticker img{height:100%}.sticker-picker .contents .sticker-picker-content .sticker img:hover{filter:drop-shadow(0 0 5px var(--accent,#d8a070))}",""])},669:function(t,e,i){"use strict";i.r(e);var c=i(66),n={components:{TabSwitcher:i(150).a},data:function(){return{meta:{stickers:[]},path:""}},computed:{pack:function(){return this.$store.state.instance.stickers||[]}},methods:{clear:function(){this.meta={stickers:[]}},pick:function(t,e){var i=this,n=this.$store;fetch(t).then((function(t){t.blob().then((function(t){var a=new File([t],e,{mimetype:"image/png"}),r=new FormData;r.append("file",a),c.a.uploadMedia({store:n,formData:r}).then((function(t){i.$emit("uploaded",t),i.clear()}),(function(t){console.warn("Can't attach sticker"),console.warn(t),i.$emit("upload-failed","default")}))}))}))}}},a=i(0);var r=function(t){i(614)},s=Object(a.a)(n,(function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{staticClass:"sticker-picker"},[i("tab-switcher",{staticClass:"tab-switcher",attrs:{"render-only-focused":!0,"scrollable-tabs":""}},t._l(t.pack,(function(e){return i("div",{key:e.path,staticClass:"sticker-picker-content",attrs:{"image-tooltip":e.meta.title,image:e.path+e.meta.tabIcon}},t._l(e.meta.stickers,(function(c){return i("div",{key:c,staticClass:"sticker",on:{click:function(i){return i.stopPropagation(),i.preventDefault(),t.pick(e.path+c,e.meta.title)}}},[i("img",{attrs:{src:e.path+c}})])})),0)})),0)],1)}),[],!1,r,null,null);e.default=s.exports}}]); -//# sourceMappingURL=4.564b2a8cbfe4d5e93949.js.map \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[4],{627:function(t,e,i){var c=i(628);"string"==typeof c&&(c=[[t.i,c,""]]),c.locals&&(t.exports=c.locals);(0,i(6).default)("cc6cdea4",c,!0,{})},628:function(t,e,i){(t.exports=i(5)(!1)).push([t.i,".sticker-picker{width:100%}.sticker-picker .contents{min-height:250px}.sticker-picker .contents .sticker-picker-content{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:0 4px}.sticker-picker .contents .sticker-picker-content .sticker{display:-ms-flexbox;display:flex;-ms-flex:1 1 auto;flex:1 1 auto;margin:4px;width:56px;height:56px}.sticker-picker .contents .sticker-picker-content .sticker img{height:100%}.sticker-picker .contents .sticker-picker-content .sticker img:hover{filter:drop-shadow(0 0 5px var(--accent,#d8a070))}",""])},682:function(t,e,i){"use strict";i.r(e);var c=i(69),n={components:{TabSwitcher:i(155).a},data:function(){return{meta:{stickers:[]},path:""}},computed:{pack:function(){return this.$store.state.instance.stickers||[]}},methods:{clear:function(){this.meta={stickers:[]}},pick:function(t,e){var i=this,n=this.$store;fetch(t).then((function(t){t.blob().then((function(t){var a=new File([t],e,{mimetype:"image/png"}),r=new FormData;r.append("file",a),c.a.uploadMedia({store:n,formData:r}).then((function(t){i.$emit("uploaded",t),i.clear()}),(function(t){console.warn("Can't attach sticker"),console.warn(t),i.$emit("upload-failed","default")}))}))}))}}},a=i(0);var r=function(t){i(627)},s=Object(a.a)(n,(function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{staticClass:"sticker-picker"},[i("tab-switcher",{staticClass:"tab-switcher",attrs:{"render-only-focused":!0,"scrollable-tabs":""}},t._l(t.pack,(function(e){return i("div",{key:e.path,staticClass:"sticker-picker-content",attrs:{"image-tooltip":e.meta.title,image:e.path+e.meta.tabIcon}},t._l(e.meta.stickers,(function(c){return i("div",{key:c,staticClass:"sticker",on:{click:function(i){return i.stopPropagation(),i.preventDefault(),t.pick(e.path+c,e.meta.title)}}},[i("img",{attrs:{src:e.path+c}})])})),0)})),0)],1)}),[],!1,r,null,null);e.default=s.exports}}]); +//# sourceMappingURL=4.7077bff64d63355b1635.js.map \ No newline at end of file diff --git a/priv/static/static/js/4.564b2a8cbfe4d5e93949.js.map b/priv/static/static/js/4.7077bff64d63355b1635.js.map similarity index 98% rename from priv/static/static/js/4.564b2a8cbfe4d5e93949.js.map rename to priv/static/static/js/4.7077bff64d63355b1635.js.map index 2a235dac2..83db836c8 100644 --- a/priv/static/static/js/4.564b2a8cbfe4d5e93949.js.map +++ b/priv/static/static/js/4.7077bff64d63355b1635.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///./src/components/sticker_picker/sticker_picker.vue?d6cd","webpack:///./src/components/sticker_picker/sticker_picker.vue?d5ea","webpack:///./src/components/sticker_picker/sticker_picker.js","webpack:///./src/components/sticker_picker/sticker_picker.vue","webpack:///./src/components/sticker_picker/sticker_picker.vue?7504"],"names":["content","module","i","locals","exports","add","default","push","StickerPicker","components","TabSwitcher","data","meta","stickers","path","computed","pack","this","$store","state","instance","methods","clear","pick","sticker","name","store","fetch","then","res","blob","file","File","mimetype","formData","FormData","append","statusPosterService","uploadMedia","fileData","$emit","error","console","warn","__vue_styles__","context","Component","_vm","_h","$createElement","_c","_self","staticClass","attrs","_l","stickerpack","key","title","tabIcon","on","$event","stopPropagation","preventDefault"],"mappings":"6EAGA,IAAIA,EAAU,EAAQ,KACA,iBAAZA,IAAsBA,EAAU,CAAC,CAACC,EAAOC,EAAIF,EAAS,MAC7DA,EAAQG,SAAQF,EAAOG,QAAUJ,EAAQG,SAG/BE,EADH,EAAQ,GAAkEC,SACnE,WAAYN,GAAS,EAAM,K,qBCRlCC,EAAOG,QAAU,EAAQ,EAAR,EAA4D,IAK/EG,KAAK,CAACN,EAAOC,EAAI,4iBAA6iB,M,oDC8CvjBM,EA/CO,CACpBC,WAAY,CACVC,Y,OAAAA,GAEFC,KAJoB,WAKlB,MAAO,CACLC,KAAM,CACJC,SAAU,IAEZC,KAAM,KAGVC,SAAU,CACRC,KADQ,WAEN,OAAOC,KAAKC,OAAOC,MAAMC,SAASP,UAAY,KAGlDQ,QAAS,CACPC,MADO,WAELL,KAAKL,KAAO,CACVC,SAAU,KAGdU,KANO,SAMDC,EAASC,GAAM,WACbC,EAAQT,KAAKC,OAEnBS,MAAMH,GACHI,MAAK,SAACC,GACLA,EAAIC,OAAOF,MAAK,SAACE,GACf,IAAIC,EAAO,IAAIC,KAAK,CAACF,GAAOL,EAAM,CAAEQ,SAAU,cAC1CC,EAAW,IAAIC,SACnBD,EAASE,OAAO,OAAQL,GACxBM,IAAoBC,YAAY,CAAEZ,QAAOQ,aACtCN,MAAK,SAACW,GACL,EAAKC,MAAM,WAAYD,GACvB,EAAKjB,WACJ,SAACmB,GACFC,QAAQC,KAAK,wBACbD,QAAQC,KAAKF,GACb,EAAKD,MAAM,gBAAiB,uB,OCnC5C,IAEII,EAVJ,SAAsBC,GACpB,EAAQ,MAeNC,EAAY,YACd,GCjBW,WAAa,IAAIC,EAAI9B,KAAS+B,EAAGD,EAAIE,eAAmBC,EAAGH,EAAII,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,kBAAkB,CAACF,EAAG,eAAe,CAACE,YAAY,eAAeC,MAAM,CAAC,uBAAsB,EAAK,kBAAkB,KAAKN,EAAIO,GAAIP,EAAQ,MAAE,SAASQ,GAAa,OAAOL,EAAG,MAAM,CAACM,IAAID,EAAYzC,KAAKsC,YAAY,yBAAyBC,MAAM,CAAC,gBAAgBE,EAAY3C,KAAK6C,MAAM,MAAQF,EAAYzC,KAAOyC,EAAY3C,KAAK8C,UAAUX,EAAIO,GAAIC,EAAY3C,KAAa,UAAE,SAASY,GAAS,OAAO0B,EAAG,MAAM,CAACM,IAAIhC,EAAQ4B,YAAY,UAAUO,GAAG,CAAC,MAAQ,SAASC,GAAyD,OAAjDA,EAAOC,kBAAkBD,EAAOE,iBAAwBf,EAAIxB,KAAKgC,EAAYzC,KAAOU,EAAS+B,EAAY3C,KAAK6C,UAAU,CAACP,EAAG,MAAM,CAACG,MAAM,CAAC,IAAME,EAAYzC,KAAOU,UAAe,MAAK,IAAI,KACjvB,IDOY,EAahCoB,EAToB,KAEU,MAYjB,UAAAE,EAAiB","file":"static/js/4.564b2a8cbfe4d5e93949.js","sourcesContent":["// style-loader: Adds some css to the DOM by adding a \n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./list.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./list.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./list.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-c1790f52\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./list.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"list\"},[_vm._l((_vm.items),function(item){return _c('div',{key:_vm.getKey(item),staticClass:\"list-item\"},[_vm._t(\"item\",null,{\"item\":item})],2)}),_vm._v(\" \"),(_vm.items.length === 0 && !!_vm.$slots.empty)?_c('div',{staticClass:\"list-empty-content faint\"},[_vm._t(\"empty\")],2):_vm._e()],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","\n\n\n\n\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./checkbox.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./checkbox.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./checkbox.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-0631206a\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./checkbox.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{staticClass:\"checkbox\",class:{ disabled: _vm.disabled, indeterminate: _vm.indeterminate }},[_c('input',{attrs:{\"type\":\"checkbox\",\"disabled\":_vm.disabled},domProps:{\"checked\":_vm.checked,\"indeterminate\":_vm.indeterminate},on:{\"change\":function($event){return _vm.$emit('change', $event.target.checked)}}}),_vm._v(\" \"),_c('i',{staticClass:\"checkbox-indicator\"}),_vm._v(\" \"),(!!_vm.$slots.default)?_c('span',{staticClass:\"label\"},[_vm._t(\"default\")],2):_vm._e()])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faChevronDown\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faChevronDown\n)\n\nexport default {\n model: {\n prop: 'value',\n event: 'change'\n },\n props: [\n 'value',\n 'disabled',\n 'unstyled',\n 'kind'\n ]\n}\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./select.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./select.js\"\nimport __vue_script__ from \"!!babel-loader!./select.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-07c8d34f\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./select.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('label',{staticClass:\"Select input\",class:{ disabled: _vm.disabled, unstyled: _vm.unstyled }},[_c('select',{attrs:{\"disabled\":_vm.disabled},domProps:{\"value\":_vm.value},on:{\"change\":function($event){return _vm.$emit('change', $event.target.value)}}},[_vm._t(\"default\")],2),_vm._v(\" \"),_c('FAIcon',{staticClass:\"select-down-icon\",attrs:{\"icon\":\"chevron-down\"}})],1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import { map } from 'lodash'\nimport apiService from '../api/api.service.js'\n\nconst postStatus = ({\n store,\n status,\n spoilerText,\n visibility,\n sensitive,\n poll,\n media = [],\n inReplyToStatusId = undefined,\n contentType = 'text/plain',\n preview = false,\n idempotencyKey = ''\n}) => {\n const mediaIds = map(media, 'id')\n\n return apiService.postStatus({\n credentials: store.state.users.currentUser.credentials,\n status,\n spoilerText,\n visibility,\n sensitive,\n mediaIds,\n inReplyToStatusId,\n contentType,\n poll,\n preview,\n idempotencyKey\n })\n .then((data) => {\n if (!data.error && !preview) {\n store.dispatch('addNewStatuses', {\n statuses: [data],\n timeline: 'friends',\n showImmediately: true,\n noIdUpdate: true // To prevent missing notices on next pull.\n })\n }\n return data\n })\n .catch((err) => {\n return {\n error: err.message\n }\n })\n}\n\nconst uploadMedia = ({ store, formData }) => {\n const credentials = store.state.users.currentUser.credentials\n return apiService.uploadMedia({ credentials, formData })\n}\n\nconst setMediaDescription = ({ store, id, description }) => {\n const credentials = store.state.users.currentUser.credentials\n return apiService.setMediaDescription({ credentials, id, description })\n}\n\nconst statusPosterService = {\n postStatus,\n uploadMedia,\n setMediaDescription\n}\n\nexport default statusPosterService\n","// When contributing, please sort JSON before committing so it would be easier to see what's missing and what's being added compared to English and other languages. It's not obligatory, but just an advice.\n// To sort json use jq https://stedolan.github.io/jq and invoke it like `jq -S . xx.json > xx.sorted.json`, AFAIK, there's no inplace edit option like in sed\n// Also, when adding a new language to \"messages\" variable, please do it alphabetically by language code so that users can search or check their custom language easily.\n\n// For anyone contributing to old huge messages.js and in need to quickly convert it to JSON\n// sed command for converting currently formatted JS to JSON:\n// sed -i -e \"s/'//gm\" -e 's/\"/\\\\\"/gm' -re 's/^( +)(.+?): ((.+?))?(,?)(\\{?)$/\\1\"\\2\": \"\\4\"/gm' -e 's/\\\"\\{\\\"/{/g' -e 's/,\"$/\",/g' file.json\n// There's only problem that apostrophe character ' gets replaced by \\\\ so you have to fix it manually, sorry.\n\nconst loaders = {\n ar: () => import('./ar.json'),\n ca: () => import('./ca.json'),\n cs: () => import('./cs.json'),\n de: () => import('./de.json'),\n eo: () => import('./eo.json'),\n es: () => import('./es.json'),\n et: () => import('./et.json'),\n eu: () => import('./eu.json'),\n fi: () => import('./fi.json'),\n fr: () => import('./fr.json'),\n ga: () => import('./ga.json'),\n he: () => import('./he.json'),\n hu: () => import('./hu.json'),\n it: () => import('./it.json'),\n ja: () => import('./ja_pedantic.json'),\n ja_easy: () => import('./ja_easy.json'),\n ko: () => import('./ko.json'),\n nb: () => import('./nb.json'),\n nl: () => import('./nl.json'),\n oc: () => import('./oc.json'),\n pl: () => import('./pl.json'),\n pt: () => import('./pt.json'),\n ro: () => import('./ro.json'),\n ru: () => import('./ru.json'),\n te: () => import('./te.json'),\n uk: () => import('./uk.json'),\n zh: () => import('./zh.json'),\n zh_Hant: () => import('./zh_Hant.json')\n}\n\nconst messages = {\n languages: ['en', ...Object.keys(loaders)],\n default: {\n en: require('./en.json')\n },\n setLanguage: async (i18n, language) => {\n if (loaders[language]) {\n let messages = await loaders[language]()\n i18n.setLocaleMessage(language, messages)\n }\n i18n.locale = language\n }\n}\n\nexport default messages\n","const fileSizeFormat = (num) => {\n var exponent\n var unit\n var units = ['B', 'KiB', 'MiB', 'GiB', 'TiB']\n if (num < 1) {\n return num + ' ' + units[0]\n }\n\n exponent = Math.min(Math.floor(Math.log(num) / Math.log(1024)), units.length - 1)\n num = (num / Math.pow(1024, exponent)).toFixed(2) * 1\n unit = units[exponent]\n return { num: num, unit: unit }\n}\nconst fileSizeFormatService = {\n fileSizeFormat\n}\nexport default fileSizeFormatService\n","import MentionLink from 'src/components/mention_link/mention_link.vue'\nimport { mapGetters } from 'vuex'\n\nexport const MENTIONS_LIMIT = 5\n\nconst MentionsLine = {\n name: 'MentionsLine',\n props: {\n mentions: {\n required: true,\n type: Array\n }\n },\n data: () => ({ expanded: false }),\n components: {\n MentionLink\n },\n computed: {\n mentionsComputed () {\n return this.mentions.slice(0, MENTIONS_LIMIT)\n },\n extraMentions () {\n return this.mentions.slice(MENTIONS_LIMIT)\n },\n manyMentions () {\n return this.extraMentions.length > 0\n },\n ...mapGetters(['mergedConfig'])\n },\n methods: {\n toggleShowMore () {\n this.expanded = !this.expanded\n }\n }\n}\n\nexport default MentionsLine\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!./mentions_line.scss\")\n}\n/* script */\nexport * from \"!!babel-loader!./mentions_line.js\"\nimport __vue_script__ from \"!!babel-loader!./mentions_line.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-68e65af2\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./mentions_line.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"MentionsLine\"},[_vm._l((_vm.mentionsComputed),function(mention){return _c('MentionLink',{key:mention.index,staticClass:\"mention-link\",attrs:{\"content\":mention.content,\"url\":mention.url,\"first-mention\":false}})}),(_vm.manyMentions)?_c('span',{staticClass:\"extraMentions\"},[(_vm.expanded)?_c('span',{staticClass:\"fullExtraMentions\"},_vm._l((_vm.extraMentions),function(mention){return _c('MentionLink',{key:mention.index,staticClass:\"mention-link\",attrs:{\"content\":mention.content,\"url\":mention.url,\"first-mention\":false}})}),1):_vm._e(),(!_vm.expanded)?_c('button',{staticClass:\"button-unstyled showMoreLess\",on:{\"click\":_vm.toggleShowMore}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('status.plus_more', { number: _vm.extraMentions.length }))+\"\\n \")]):_vm._e(),(_vm.expanded)?_c('button',{staticClass:\"button-unstyled showMoreLess\",on:{\"click\":_vm.toggleShowMore}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('general.show_less'))+\"\\n \")]):_vm._e()]):_vm._e()],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","\n\n\n","/* script */\nexport * from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./progress_button.vue\"\nimport __vue_script__ from \"!!babel-loader!../../../node_modules/vue-loader/lib/selector?type=script&index=0!./progress_button.vue\"\n/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-9f751ae6\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./progress_button.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{attrs:{\"disabled\":_vm.progress || _vm.disabled},on:{\"click\":_vm.onClick}},[(_vm.progress && _vm.$slots.progress)?[_vm._t(\"progress\")]:[_vm._t(\"default\")]],2)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","const specialLanguageCodes = {\n 'ja_easy': 'ja',\n 'zh_Hant': 'zh-HANT'\n}\n\nconst internalToBrowserLocale = code => specialLanguageCodes[code] || code\n\nconst localeService = {\n internalToBrowserLocale\n}\n\nexport default localeService\n","import { set, delete as del } from 'vue'\nimport { setPreset, applyTheme } from '../services/style_setter/style_setter.js'\nimport messages from '../i18n/messages'\n\nconst browserLocale = (window.navigator.language || 'en').split('-')[0]\n\n/* TODO this is a bit messy.\n * We need to declare settings with their types and also deal with\n * instance-default settings in some way, hopefully try to avoid copy-pasta\n * in general.\n */\nexport const multiChoiceProperties = [\n 'postContentType',\n 'subjectLineBehavior'\n]\n\nexport const defaultState = {\n colors: {},\n theme: undefined,\n customTheme: undefined,\n customThemeSource: undefined,\n hideISP: false,\n hideInstanceWallpaper: false,\n hideShoutbox: false,\n // bad name: actually hides posts of muted USERS\n hideMutedPosts: undefined, // instance default\n collapseMessageWithSubject: undefined, // instance default\n padEmoji: true,\n hideAttachments: false,\n hideAttachmentsInConv: false,\n maxThumbnails: 16,\n hideNsfw: true,\n preloadImage: true,\n loopVideo: true,\n loopVideoSilentOnly: true,\n streaming: false,\n emojiReactionsOnTimeline: true,\n alwaysShowNewPostButton: false,\n autohideFloatingPostButton: false,\n pauseOnUnfocused: true,\n stopGifs: false,\n replyVisibility: 'all',\n notificationVisibility: {\n follows: true,\n mentions: true,\n likes: true,\n repeats: true,\n moves: true,\n emojiReactions: true,\n followRequest: true,\n chatMention: true\n },\n webPushNotifications: false,\n muteWords: [],\n highlight: {},\n interfaceLanguage: browserLocale,\n hideScopeNotice: false,\n useStreamingApi: false,\n sidebarRight: undefined, // instance default\n scopeCopy: undefined, // instance default\n subjectLineBehavior: undefined, // instance default\n alwaysShowSubjectInput: undefined, // instance default\n postContentType: undefined, // instance default\n minimalScopesMode: undefined, // instance default\n // This hides statuses filtered via a word filter\n hideFilteredStatuses: undefined, // instance default\n playVideosInModal: false,\n useOneClickNsfw: false,\n useContainFit: false,\n greentext: undefined, // instance default\n hidePostStats: undefined, // instance default\n hideUserStats: undefined, // instance default\n virtualScrolling: undefined, // instance default\n sensitiveByDefault: undefined // instance default\n}\n\n// caching the instance default properties\nexport const instanceDefaultProperties = Object.entries(defaultState)\n .filter(([key, value]) => value === undefined)\n .map(([key, value]) => key)\n\nconst config = {\n state: { ...defaultState },\n getters: {\n defaultConfig (state, getters, rootState, rootGetters) {\n const { instance } = rootState\n return {\n ...defaultState,\n ...Object.fromEntries(\n instanceDefaultProperties.map(key => [key, instance[key]])\n )\n }\n },\n mergedConfig (state, getters, rootState, rootGetters) {\n const { defaultConfig } = rootGetters\n return {\n ...defaultConfig,\n // Do not override with undefined\n ...Object.fromEntries(Object.entries(state).filter(([k, v]) => v !== undefined))\n }\n }\n },\n mutations: {\n setOption (state, { name, value }) {\n set(state, name, value)\n },\n setHighlight (state, { user, color, type }) {\n const data = this.state.config.highlight[user]\n if (color || type) {\n set(state.highlight, user, { color: color || data.color, type: type || data.type })\n } else {\n del(state.highlight, user)\n }\n }\n },\n actions: {\n loadSettings ({ dispatch }, data) {\n const knownKeys = new Set(Object.keys(defaultState))\n const presentKeys = new Set(Object.keys(data))\n const intersection = new Set()\n for (let elem of presentKeys) {\n if (knownKeys.has(elem)) {\n intersection.add(elem)\n }\n }\n\n intersection.forEach(\n name => dispatch('setOption', { name, value: data[name] })\n )\n },\n setHighlight ({ commit, dispatch }, { user, color, type }) {\n commit('setHighlight', { user, color, type })\n },\n setOption ({ commit, dispatch }, { name, value }) {\n commit('setOption', { name, value })\n switch (name) {\n case 'theme':\n setPreset(value)\n break\n case 'customTheme':\n case 'customThemeSource':\n applyTheme(value)\n break\n case 'interfaceLanguage':\n messages.setLanguage(this.getters.i18n, value)\n break\n }\n }\n }\n}\n\nexport default config\n","import { filter } from 'lodash'\n\nexport const muteWordHits = (status, muteWords) => {\n const statusText = status.text.toLowerCase()\n const statusSummary = status.summary.toLowerCase()\n const hits = filter(muteWords, (muteWord) => {\n return statusText.includes(muteWord.toLowerCase()) || statusSummary.includes(muteWord.toLowerCase())\n })\n\n return hits\n}\n","export const showDesktopNotification = (rootState, desktopNotificationOpts) => {\n if (!('Notification' in window && window.Notification.permission === 'granted')) return\n if (rootState.statuses.notifications.desktopNotificationSilence) { return }\n\n const desktopNotification = new window.Notification(desktopNotificationOpts.title, desktopNotificationOpts)\n // Chrome is known for not closing notifications automatically\n // according to MDN, anyway.\n setTimeout(desktopNotification.close.bind(desktopNotification), 5000)\n}\n","export const findOffset = (child, parent, { top = 0, left = 0 } = {}, ignorePadding = true) => {\n const result = {\n top: top + child.offsetTop,\n left: left + child.offsetLeft\n }\n if (!ignorePadding && child !== window) {\n const { topPadding, leftPadding } = findPadding(child)\n result.top += ignorePadding ? 0 : topPadding\n result.left += ignorePadding ? 0 : leftPadding\n }\n\n if (child.offsetParent && (parent === window || parent.contains(child.offsetParent) || parent === child.offsetParent)) {\n return findOffset(child.offsetParent, parent, result, false)\n } else {\n if (parent !== window) {\n const { topPadding, leftPadding } = findPadding(parent)\n result.top += topPadding\n result.left += leftPadding\n }\n return result\n }\n}\n\nconst findPadding = (el) => {\n const topPaddingStr = window.getComputedStyle(el)['padding-top']\n const topPadding = Number(topPaddingStr.substring(0, topPaddingStr.length - 2))\n const leftPaddingStr = window.getComputedStyle(el)['padding-left']\n const leftPadding = Number(leftPaddingStr.substring(0, leftPaddingStr.length - 2))\n\n return { topPadding, leftPadding }\n}\n","export const newExporter = ({\n filename = 'data',\n getExportedObject\n}) => ({\n exportData () {\n const stringified = JSON.stringify(getExportedObject(), null, 2) // Pretty-print and indent with 2 spaces\n\n // Create an invisible link with a data url and simulate a click\n const e = document.createElement('a')\n e.setAttribute('download', `${filename}.json`)\n e.setAttribute('href', 'data:application/json;base64,' + window.btoa(stringified))\n e.style.display = 'none'\n\n document.body.appendChild(e)\n e.click()\n document.body.removeChild(e)\n }\n})\n\nexport const newImporter = ({\n onImport,\n onImportFailure,\n validator = () => true\n}) => ({\n importData () {\n const filePicker = document.createElement('input')\n filePicker.setAttribute('type', 'file')\n filePicker.setAttribute('accept', '.json')\n\n filePicker.addEventListener('change', event => {\n if (event.target.files[0]) {\n // eslint-disable-next-line no-undef\n const reader = new FileReader()\n reader.onload = ({ target }) => {\n try {\n const parsed = JSON.parse(target.result)\n const validationResult = validator(parsed)\n if (validationResult === true) {\n onImport(parsed)\n } else {\n onImportFailure({ validationResult })\n }\n } catch (error) {\n onImportFailure({ error })\n }\n }\n reader.readAsText(event.target.files[0])\n }\n })\n\n document.body.appendChild(filePicker)\n filePicker.click()\n document.body.removeChild(filePicker)\n }\n})\n","const fetchRelationship = (attempt, userId, store) => new Promise((resolve, reject) => {\n setTimeout(() => {\n store.state.api.backendInteractor.fetchUserRelationship({ id: userId })\n .then((relationship) => {\n store.commit('updateUserRelationship', [relationship])\n return relationship\n })\n .then((relationship) => resolve([relationship.following, relationship.requested, relationship.locked, attempt]))\n .catch((e) => reject(e))\n }, 500)\n}).then(([following, sent, locked, attempt]) => {\n if (!following && !(locked && sent) && attempt <= 3) {\n // If we BE reports that we still not following that user - retry,\n // increment attempts by one\n fetchRelationship(++attempt, userId, store)\n }\n})\n\nexport const requestFollow = (userId, store) => new Promise((resolve, reject) => {\n store.state.api.backendInteractor.followUser({ id: userId })\n .then((updated) => {\n store.commit('updateUserRelationship', [updated])\n\n if (updated.following || (updated.locked && updated.requested)) {\n // If we get result immediately or the account is locked, just stop.\n resolve()\n return\n }\n\n // But usually we don't get result immediately, so we ask server\n // for updated user profile to confirm if we are following them\n // Sometimes it takes several tries. Sometimes we end up not following\n // user anyway, probably because they locked themselves and we\n // don't know that yet.\n // Recursive Promise, it will call itself up to 3 times.\n\n return fetchRelationship(1, updated, store)\n .then(() => {\n resolve()\n })\n })\n})\n\nexport const requestUnfollow = (userId, store) => new Promise((resolve, reject) => {\n store.state.api.backendInteractor.unfollowUser({ id: userId })\n .then((updated) => {\n store.commit('updateUserRelationship', [updated])\n resolve({\n updated\n })\n })\n})\n","import { requestFollow, requestUnfollow } from '../../services/follow_manipulate/follow_manipulate'\nexport default {\n props: ['relationship', 'labelFollowing', 'buttonClass'],\n data () {\n return {\n inProgress: false\n }\n },\n computed: {\n isPressed () {\n return this.inProgress || this.relationship.following\n },\n title () {\n if (this.inProgress || this.relationship.following) {\n return this.$t('user_card.follow_unfollow')\n } else if (this.relationship.requested) {\n return this.$t('user_card.follow_cancel')\n } else {\n return this.$t('user_card.follow')\n }\n },\n label () {\n if (this.inProgress) {\n return this.$t('user_card.follow_progress')\n } else if (this.relationship.following) {\n return this.labelFollowing || this.$t('user_card.following')\n } else if (this.relationship.requested) {\n return this.$t('user_card.follow_sent')\n } else {\n return this.$t('user_card.follow')\n }\n }\n },\n methods: {\n onClick () {\n this.relationship.following || this.relationship.requested ? this.unfollow() : this.follow()\n },\n follow () {\n this.inProgress = true\n requestFollow(this.relationship.id, this.$store).then(() => {\n this.inProgress = false\n })\n },\n unfollow () {\n const store = this.$store\n this.inProgress = true\n requestUnfollow(this.relationship.id, store).then(() => {\n this.inProgress = false\n store.commit('removeStatus', { timeline: 'friends', userId: this.relationship.id })\n })\n }\n }\n}\n","/* script */\nexport * from \"!!babel-loader!./follow_button.js\"\nimport __vue_script__ from \"!!babel-loader!./follow_button.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-d23ef426\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./follow_button.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('button',{staticClass:\"btn button-default follow-button\",class:{ toggled: _vm.isPressed },attrs:{\"disabled\":_vm.inProgress,\"title\":_vm.title},on:{\"click\":_vm.onClick}},[_vm._v(\"\\n \"+_vm._s(_vm.label)+\"\\n\")])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","\nconst VideoAttachment = {\n props: ['attachment', 'controls'],\n data () {\n return {\n blocksSuspend: false,\n // Start from true because removing \"loop\" property seems buggy in Vue\n hasAudio: true\n }\n },\n computed: {\n loopVideo () {\n if (this.$store.getters.mergedConfig.loopVideoSilentOnly) {\n return !this.hasAudio\n }\n return this.$store.getters.mergedConfig.loopVideo\n }\n },\n methods: {\n onPlaying (e) {\n this.setHasAudio(e)\n if (this.loopVideo) {\n this.$emit('play', { looping: true })\n return\n }\n this.$emit('play')\n },\n onPaused (e) {\n this.$emit('pause')\n },\n setHasAudio (e) {\n const target = e.srcElement || e.target\n // If hasAudio is false, we've already marked this video to not have audio,\n // a video can't gain audio out of nowhere so don't bother checking again.\n if (!this.hasAudio) return\n if (typeof target.webkitAudioDecodedByteCount !== 'undefined') {\n // non-zero if video has audio track\n if (target.webkitAudioDecodedByteCount > 0) return\n }\n if (typeof target.mozHasAudio !== 'undefined') {\n // true if video has audio track\n if (target.mozHasAudio) return\n }\n if (typeof target.audioTracks !== 'undefined') {\n if (target.audioTracks.length > 0) return\n }\n this.hasAudio = false\n }\n }\n}\n\nexport default VideoAttachment\n","/* script */\nexport * from \"!!babel-loader!./video_attachment.js\"\nimport __vue_script__ from \"!!babel-loader!./video_attachment.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-dda2841a\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./video_attachment.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('video',{staticClass:\"video\",attrs:{\"preload\":\"metadata\",\"src\":_vm.attachment.url,\"loop\":_vm.loopVideo,\"controls\":_vm.controls,\"alt\":_vm.attachment.description,\"title\":_vm.attachment.description,\"playsinline\":\"\"},on:{\"playing\":_vm.onPlaying,\"pause\":_vm.onPaused}})}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator'\nimport { mapGetters, mapState } from 'vuex'\nimport { highlightClass, highlightStyle } from '../../services/user_highlighter/user_highlighter.js'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faAt\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faAt\n)\n\nconst MentionLink = {\n name: 'MentionLink',\n props: {\n url: {\n required: true,\n type: String\n },\n content: {\n required: true,\n type: String\n },\n userId: {\n required: false,\n type: String\n },\n userScreenName: {\n required: false,\n type: String\n }\n },\n methods: {\n onClick () {\n const link = generateProfileLink(\n this.userId || this.user.id,\n this.userScreenName || this.user.screen_name\n )\n this.$router.push(link)\n }\n },\n computed: {\n user () {\n return this.url && this.$store && this.$store.getters.findUserByUrl(this.url)\n },\n isYou () {\n // FIXME why user !== currentUser???\n return this.user && this.user.id === this.currentUser.id\n },\n userName () {\n return this.user && this.userNameFullUi.split('@')[0]\n },\n userNameFull () {\n return this.user && this.user.screen_name\n },\n userNameFullUi () {\n return this.user && this.user.screen_name_ui\n },\n highlight () {\n return this.user && this.mergedConfig.highlight[this.user.screen_name]\n },\n highlightType () {\n return this.highlight && ('-' + this.highlight.type)\n },\n highlightClass () {\n if (this.highlight) return highlightClass(this.user)\n },\n style () {\n if (this.highlight) {\n const {\n backgroundColor,\n backgroundPosition,\n backgroundImage,\n ...rest\n } = highlightStyle(this.highlight)\n return rest\n }\n },\n classnames () {\n return [\n {\n '-you': this.isYou,\n '-highlighted': this.highlight\n },\n this.highlightType\n ]\n },\n ...mapGetters(['mergedConfig']),\n ...mapState({\n currentUser: state => state.users.currentUser\n })\n }\n}\n\nexport default MentionLink\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!./mention_link.scss\")\n}\n/* script */\nexport * from \"!!babel-loader!./mention_link.js\"\nimport __vue_script__ from \"!!babel-loader!./mention_link.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-9e9097c8\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./mention_link.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',{staticClass:\"MentionLink\"},[(!_vm.user)?_c('a',{staticClass:\"original\",attrs:{\"href\":_vm.url,\"target\":\"_blank\"},domProps:{\"innerHTML\":_vm._s(_vm.content)}}):_vm._e(),_vm._v(\" \"),(_vm.user)?_c('span',{staticClass:\"new\",class:_vm.classnames,style:(_vm.style)},[_c('a',{staticClass:\"short button-unstyled\",attrs:{\"href\":_vm.url},on:{\"click\":function($event){$event.preventDefault();return _vm.onClick($event)}}},[_c('FAIcon',{staticClass:\"at\",attrs:{\"size\":\"sm\",\"icon\":\"at\"}}),_c('span',{staticClass:\"shortName\"},[_c('span',{staticClass:\"userName\",domProps:{\"innerHTML\":_vm._s(_vm.userName)}})]),_vm._v(\" \"),(_vm.isYou)?_c('span',{staticClass:\"you\"},[_vm._v(_vm._s(_vm.$t('status.you')))]):_vm._e()],1),_vm._v(\" \"),(_vm.userName !== _vm.userNameFull)?_c('span',{staticClass:\"full popover-default\",class:[_vm.highlightType]},[_c('span',{staticClass:\"userNameFull\",domProps:{\"textContent\":_vm._s('@' + _vm.userNameFull)}})]):_vm._e()]):_vm._e()])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import Attachment from '../attachment/attachment.vue'\nimport { chunk, last, dropRight, sumBy } from 'lodash'\n\nconst Gallery = {\n props: [\n 'attachments',\n 'nsfw',\n 'setMedia'\n ],\n data () {\n return {\n sizes: {}\n }\n },\n components: { Attachment },\n computed: {\n rows () {\n if (!this.attachments) {\n return []\n }\n const rows = chunk(this.attachments, 3)\n if (last(rows).length === 1 && rows.length > 1) {\n // if 1 attachment on last row -> add it to the previous row instead\n const lastAttachment = last(rows)[0]\n const allButLastRow = dropRight(rows)\n last(allButLastRow).push(lastAttachment)\n return allButLastRow\n }\n return rows\n },\n useContainFit () {\n return this.$store.getters.mergedConfig.useContainFit\n }\n },\n methods: {\n onNaturalSizeLoad (id, size) {\n this.$set(this.sizes, id, size)\n },\n rowStyle (itemsPerRow) {\n return { 'padding-bottom': `${(100 / (itemsPerRow + 0.6))}%` }\n },\n itemStyle (id, row) {\n const total = sumBy(row, item => this.getAspectRatio(item.id))\n return { flex: `${this.getAspectRatio(id) / total} 1 0%` }\n },\n getAspectRatio (id) {\n const size = this.sizes[id]\n return size ? size.width / size.height : 1\n }\n }\n}\n\nexport default Gallery\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./gallery.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./gallery.js\"\nimport __vue_script__ from \"!!babel-loader!./gallery.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3db94942\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./gallery.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"galleryContainer\",staticStyle:{\"width\":\"100%\"}},_vm._l((_vm.rows),function(row,index){return _c('div',{key:index,staticClass:\"gallery-row\",class:{ 'contain-fit': _vm.useContainFit, 'cover-fit': !_vm.useContainFit },style:(_vm.rowStyle(row.length))},[_c('div',{staticClass:\"gallery-row-inner\"},_vm._l((row),function(attachment){return _c('attachment',{key:attachment.id,style:(_vm.itemStyle(attachment.id, row)),attrs:{\"set-media\":_vm.setMedia,\"nsfw\":_vm.nsfw,\"attachment\":attachment,\"allow-play\":false,\"natural-size-load\":_vm.onNaturalSizeLoad.bind(null, attachment.id)}})}),1)])}),0)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import { mapGetters } from 'vuex'\n\nconst LinkPreview = {\n name: 'LinkPreview',\n props: [\n 'card',\n 'size',\n 'nsfw'\n ],\n data () {\n return {\n imageLoaded: false\n }\n },\n computed: {\n useImage () {\n // Currently BE shoudn't give cards if tagged NSFW, this is a bit paranoid\n // as it makes sure to hide the image if somehow NSFW tagged preview can\n // exist.\n return this.card.image && !this.censored && this.size !== 'hide'\n },\n censored () {\n return this.nsfw && this.hideNsfwConfig\n },\n useDescription () {\n return this.card.description && /\\S/.test(this.card.description)\n },\n hideNsfwConfig () {\n return this.mergedConfig.hideNsfw\n },\n ...mapGetters([\n 'mergedConfig'\n ])\n },\n created () {\n if (this.useImage) {\n const newImg = new Image()\n newImg.onload = () => {\n this.imageLoaded = true\n }\n newImg.src = this.card.image\n }\n }\n}\n\nexport default LinkPreview\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./link-preview.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./link-preview.js\"\nimport __vue_script__ from \"!!babel-loader!./link-preview.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-25194025\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./link-preview.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('a',{staticClass:\"link-preview-card\",attrs:{\"href\":_vm.card.url,\"target\":\"_blank\",\"rel\":\"noopener\"}},[(_vm.useImage && _vm.imageLoaded)?_c('div',{staticClass:\"card-image\"},[_c('img',{attrs:{\"src\":_vm.card.image}})]):_vm._e(),_vm._v(\" \"),_c('div',{staticClass:\"card-content\"},[_c('span',{staticClass:\"card-host faint\"},[(_vm.censored)?_c('span',{staticClass:\"nsfw-alert alert warning\"},[_vm._v(_vm._s(_vm.$t('status.nsfw')))]):_vm._e(),_vm._v(\"\\n \"+_vm._s(_vm.card.provider_name)+\"\\n \")]),_vm._v(\" \"),_c('h4',{staticClass:\"card-title\"},[_vm._v(_vm._s(_vm.card.title))]),_vm._v(\" \"),(_vm.useDescription)?_c('p',{staticClass:\"card-description\"},[_vm._v(_vm._s(_vm.card.description))]):_vm._e()])])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","export default {\n props: [ 'user' ],\n computed: {\n subscribeUrl () {\n // eslint-disable-next-line no-undef\n const serverUrl = new URL(this.user.statusnet_profile_url)\n return `${serverUrl.protocol}//${serverUrl.host}/main/ostatus`\n }\n }\n}\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./remote_follow.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./remote_follow.js\"\nimport __vue_script__ from \"!!babel-loader!./remote_follow.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4ae39779\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./remote_follow.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"remote-follow\"},[_c('form',{attrs:{\"method\":\"POST\",\"action\":_vm.subscribeUrl}},[_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"nickname\"},domProps:{\"value\":_vm.user.screen_name}}),_vm._v(\" \"),_c('input',{attrs:{\"type\":\"hidden\",\"name\":\"profile\",\"value\":\"\"}}),_vm._v(\" \"),_c('button',{staticClass:\"button-default remote-button\",attrs:{\"click\":\"submit\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('user_card.remote_follow'))+\"\\n \")])])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import UserAvatar from '../user_avatar/user_avatar.vue'\nimport generateProfileLink from 'src/services/user_profile_link_generator/user_profile_link_generator'\n\nconst AvatarList = {\n props: ['users'],\n computed: {\n slicedUsers () {\n return this.users ? this.users.slice(0, 15) : []\n }\n },\n components: {\n UserAvatar\n },\n methods: {\n userProfileLink (user) {\n return generateProfileLink(user.id, user.screen_name, this.$store.state.instance.restrictedNicknames)\n }\n }\n}\n\nexport default AvatarList\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!../../../node_modules/vue-loader/lib/selector?type=styles&index=0!./avatar_list.vue\")\n}\n/* script */\nexport * from \"!!babel-loader!./avatar_list.js\"\nimport __vue_script__ from \"!!babel-loader!./avatar_list.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-4cea5bcf\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./avatar_list.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"avatars\"},_vm._l((_vm.slicedUsers),function(user){return _c('router-link',{key:user.id,staticClass:\"avatars-item\",attrs:{\"to\":_vm.userProfileLink(user)}},[_c('UserAvatar',{staticClass:\"avatar-small\",attrs:{\"user\":user}})],1)}),1)}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","/**\n * suggest - generates a suggestor function to be used by emoji-input\n * data: object providing source information for specific types of suggestions:\n * data.emoji - optional, an array of all emoji available i.e.\n * (state.instance.emoji + state.instance.customEmoji)\n * data.users - optional, an array of all known users\n * updateUsersList - optional, a function to search and append to users\n *\n * Depending on data present one or both (or none) can be present, so if field\n * doesn't support user linking you can just provide only emoji.\n */\n\nexport default data => {\n const emojiCurry = suggestEmoji(data.emoji)\n const usersCurry = data.store && suggestUsers(data.store)\n return input => {\n const firstChar = input[0]\n if (firstChar === ':' && data.emoji) {\n return emojiCurry(input)\n }\n if (firstChar === '@' && usersCurry) {\n return usersCurry(input)\n }\n return []\n }\n}\n\nexport const suggestEmoji = emojis => input => {\n const noPrefix = input.toLowerCase().substr(1)\n return emojis\n .filter(({ displayText }) => displayText.toLowerCase().match(noPrefix))\n .sort((a, b) => {\n let aScore = 0\n let bScore = 0\n\n // An exact match always wins\n aScore += a.displayText.toLowerCase() === noPrefix ? 200 : 0\n bScore += b.displayText.toLowerCase() === noPrefix ? 200 : 0\n\n // Prioritize custom emoji a lot\n aScore += a.imageUrl ? 100 : 0\n bScore += b.imageUrl ? 100 : 0\n\n // Prioritize prefix matches somewhat\n aScore += a.displayText.toLowerCase().startsWith(noPrefix) ? 10 : 0\n bScore += b.displayText.toLowerCase().startsWith(noPrefix) ? 10 : 0\n\n // Sort by length\n aScore -= a.displayText.length\n bScore -= b.displayText.length\n\n // Break ties alphabetically\n const alphabetically = a.displayText > b.displayText ? 0.5 : -0.5\n\n return bScore - aScore + alphabetically\n })\n}\n\nexport const suggestUsers = ({ dispatch, state }) => {\n // Keep some persistent values in closure, most importantly for the\n // custom debounce to work. Lodash debounce does not return a promise.\n let suggestions = []\n let previousQuery = ''\n let timeout = null\n let cancelUserSearch = null\n\n const userSearch = (query) => dispatch('searchUsers', { query })\n const debounceUserSearch = (query) => {\n cancelUserSearch && cancelUserSearch()\n return new Promise((resolve, reject) => {\n timeout = setTimeout(() => {\n userSearch(query).then(resolve).catch(reject)\n }, 300)\n cancelUserSearch = () => {\n clearTimeout(timeout)\n resolve([])\n }\n })\n }\n\n return async input => {\n const noPrefix = input.toLowerCase().substr(1)\n if (previousQuery === noPrefix) return suggestions\n\n suggestions = []\n previousQuery = noPrefix\n // Fetch more and wait, don't fetch if there's the 2nd @ because\n // the backend user search can't deal with it.\n // Reference semantics make it so that we get the updated data after\n // the await.\n if (!noPrefix.includes('@')) {\n await debounceUserSearch(noPrefix)\n }\n\n const newSuggestions = state.users.users.filter(\n user =>\n user.screen_name.toLowerCase().startsWith(noPrefix) ||\n user.name.toLowerCase().startsWith(noPrefix)\n ).slice(0, 20).sort((a, b) => {\n let aScore = 0\n let bScore = 0\n\n // Matches on screen name (i.e. user@instance) makes a priority\n aScore += a.screen_name.toLowerCase().startsWith(noPrefix) ? 2 : 0\n bScore += b.screen_name.toLowerCase().startsWith(noPrefix) ? 2 : 0\n\n // Matches on name takes second priority\n aScore += a.name.toLowerCase().startsWith(noPrefix) ? 1 : 0\n bScore += b.name.toLowerCase().startsWith(noPrefix) ? 1 : 0\n\n const diff = (bScore - aScore) * 10\n\n // Then sort alphabetically\n const nameAlphabetically = a.name > b.name ? 1 : -1\n const screenNameAlphabetically = a.screen_name > b.screen_name ? 1 : -1\n\n return diff + nameAlphabetically + screenNameAlphabetically\n /* eslint-disable camelcase */\n }).map(({ screen_name, screen_name_ui, name, profile_image_url_original }) => ({\n displayText: screen_name_ui,\n detailText: name,\n imageUrl: profile_image_url_original,\n replacement: '@' + screen_name + ' '\n }))\n /* eslint-enable camelcase */\n\n suggestions = newSuggestions || []\n return suggestions\n }\n}\n","import Vue from 'vue'\nimport { mapState } from 'vuex'\nimport { FontAwesomeIcon as FAIcon } from '@fortawesome/vue-fontawesome'\n\nimport './tab_switcher.scss'\n\nexport default Vue.component('tab-switcher', {\n name: 'TabSwitcher',\n props: {\n renderOnlyFocused: {\n required: false,\n type: Boolean,\n default: false\n },\n onSwitch: {\n required: false,\n type: Function,\n default: undefined\n },\n activeTab: {\n required: false,\n type: String,\n default: undefined\n },\n scrollableTabs: {\n required: false,\n type: Boolean,\n default: false\n },\n sideTabBar: {\n required: false,\n type: Boolean,\n default: false\n }\n },\n data () {\n return {\n active: this.$slots.default.findIndex(_ => _.tag)\n }\n },\n computed: {\n activeIndex () {\n // In case of controlled component\n if (this.activeTab) {\n return this.$slots.default.findIndex(slot => this.activeTab === slot.key)\n } else {\n return this.active\n }\n },\n settingsModalVisible () {\n return this.settingsModalState === 'visible'\n },\n ...mapState({\n settingsModalState: state => state.interface.settingsModalState\n })\n },\n beforeUpdate () {\n const currentSlot = this.$slots.default[this.active]\n if (!currentSlot.tag) {\n this.active = this.$slots.default.findIndex(_ => _.tag)\n }\n },\n methods: {\n clickTab (index) {\n return (e) => {\n e.preventDefault()\n this.setTab(index)\n }\n },\n setTab (index) {\n if (typeof this.onSwitch === 'function') {\n this.onSwitch.call(null, this.$slots.default[index].key)\n }\n this.active = index\n if (this.scrollableTabs) {\n this.$refs.contents.scrollTop = 0\n }\n }\n },\n render (h) {\n const tabs = this.$slots.default\n .map((slot, index) => {\n if (!slot.tag) return\n const classesTab = ['tab', 'button-default']\n const classesWrapper = ['tab-wrapper']\n if (this.activeIndex === index) {\n classesTab.push('active')\n classesWrapper.push('active')\n }\n if (slot.data.attrs.image) {\n return (\n
\n \n \n {slot.data.attrs.label ? '' : slot.data.attrs.label}\n \n
\n )\n }\n return (\n
\n \n {!slot.data.attrs.icon ? '' : ()}\n \n {slot.data.attrs.label}\n \n \n
\n )\n })\n\n const contents = this.$slots.default.map((slot, index) => {\n if (!slot.tag) return\n const active = this.activeIndex === index\n const classes = [ active ? 'active' : 'hidden' ]\n if (slot.data.attrs.fullHeight) {\n classes.push('full-height')\n }\n const renderSlot = (!this.renderOnlyFocused || active)\n ? slot\n : ''\n\n return (\n
\n {\n this.sideTabBar\n ?

{slot.data.attrs.label}

\n : ''\n }\n {renderSlot}\n
\n )\n })\n\n return (\n
\n
\n {tabs}\n
\n
\n {contents}\n
\n
\n )\n }\n})\n","import isFunction from 'lodash/isFunction'\n\nconst getComponentOptions = (Component) => (isFunction(Component)) ? Component.options : Component\n\nconst getComponentProps = (Component) => getComponentOptions(Component).props\n\nexport {\n getComponentOptions,\n getComponentProps\n}\n","import { reduce, find } from 'lodash'\n\nexport const replaceWord = (str, toReplace, replacement) => {\n return str.slice(0, toReplace.start) + replacement + str.slice(toReplace.end)\n}\n\nexport const wordAtPosition = (str, pos) => {\n const words = splitByWhitespaceBoundary(str)\n const wordsWithPosition = addPositionToWords(words)\n\n return find(wordsWithPosition, ({ start, end }) => start <= pos && end > pos)\n}\n\nexport const addPositionToWords = (words) => {\n return reduce(words, (result, word) => {\n const data = {\n word,\n start: 0,\n end: word.length\n }\n\n if (result.length > 0) {\n const previous = result.pop()\n\n data.start += previous.end\n data.end += previous.end\n\n result.push(previous)\n }\n\n result.push(data)\n\n return result\n }, [])\n}\n\nexport const splitByWhitespaceBoundary = (str) => {\n let result = []\n let currentWord = ''\n for (let i = 0; i < str.length; i++) {\n const currentChar = str[i]\n // Starting a new word\n if (!currentWord) {\n currentWord = currentChar\n continue\n }\n // current character is whitespace while word isn't, or vice versa:\n // add our current word to results, start over the current word.\n if (!!currentChar.trim() !== !!currentWord.trim()) {\n result.push(currentWord)\n currentWord = currentChar\n continue\n }\n currentWord += currentChar\n }\n // Add the last word we were working on\n if (currentWord) {\n result.push(currentWord)\n }\n return result\n}\n\nconst completion = {\n wordAtPosition,\n addPositionToWords,\n splitByWhitespaceBoundary,\n replaceWord\n}\n\nexport default completion\n","import Checkbox from '../checkbox/checkbox.vue'\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faBoxOpen,\n faStickyNote,\n faSmileBeam\n} from '@fortawesome/free-solid-svg-icons'\n\nlibrary.add(\n faBoxOpen,\n faStickyNote,\n faSmileBeam\n)\n\n// At widest, approximately 20 emoji are visible in a row,\n// loading 3 rows, could be overkill for narrow picker\nconst LOAD_EMOJI_BY = 60\n\n// When to start loading new batch emoji, in pixels\nconst LOAD_EMOJI_MARGIN = 64\n\nconst filterByKeyword = (list, keyword = '') => {\n if (keyword === '') return list\n\n const keywordLowercase = keyword.toLowerCase()\n let orderedEmojiList = []\n for (const emoji of list) {\n const indexOfKeyword = emoji.displayText.toLowerCase().indexOf(keywordLowercase)\n if (indexOfKeyword > -1) {\n if (!Array.isArray(orderedEmojiList[indexOfKeyword])) {\n orderedEmojiList[indexOfKeyword] = []\n }\n orderedEmojiList[indexOfKeyword].push(emoji)\n }\n }\n return orderedEmojiList.flat()\n}\n\nconst EmojiPicker = {\n props: {\n enableStickerPicker: {\n required: false,\n type: Boolean,\n default: false\n }\n },\n data () {\n return {\n keyword: '',\n activeGroup: 'custom',\n showingStickers: false,\n groupsScrolledClass: 'scrolled-top',\n keepOpen: false,\n customEmojiBufferSlice: LOAD_EMOJI_BY,\n customEmojiTimeout: null,\n customEmojiLoadAllConfirmed: false\n }\n },\n components: {\n StickerPicker: () => import('../sticker_picker/sticker_picker.vue'),\n Checkbox\n },\n methods: {\n onStickerUploaded (e) {\n this.$emit('sticker-uploaded', e)\n },\n onStickerUploadFailed (e) {\n this.$emit('sticker-upload-failed', e)\n },\n onEmoji (emoji) {\n const value = emoji.imageUrl ? `:${emoji.displayText}:` : emoji.replacement\n this.$emit('emoji', { insertion: value, keepOpen: this.keepOpen })\n },\n onScroll (e) {\n const target = (e && e.target) || this.$refs['emoji-groups']\n this.updateScrolledClass(target)\n this.scrolledGroup(target)\n this.triggerLoadMore(target)\n },\n highlight (key) {\n const ref = this.$refs['group-' + key]\n const top = ref[0].offsetTop\n this.setShowStickers(false)\n this.activeGroup = key\n this.$nextTick(() => {\n this.$refs['emoji-groups'].scrollTop = top + 1\n })\n },\n updateScrolledClass (target) {\n if (target.scrollTop <= 5) {\n this.groupsScrolledClass = 'scrolled-top'\n } else if (target.scrollTop >= target.scrollTopMax - 5) {\n this.groupsScrolledClass = 'scrolled-bottom'\n } else {\n this.groupsScrolledClass = 'scrolled-middle'\n }\n },\n triggerLoadMore (target) {\n const ref = this.$refs['group-end-custom'][0]\n if (!ref) return\n const bottom = ref.offsetTop + ref.offsetHeight\n\n const scrollerBottom = target.scrollTop + target.clientHeight\n const scrollerTop = target.scrollTop\n const scrollerMax = target.scrollHeight\n\n // Loads more emoji when they come into view\n const approachingBottom = bottom - scrollerBottom < LOAD_EMOJI_MARGIN\n // Always load when at the very top in case there's no scroll space yet\n const atTop = scrollerTop < 5\n // Don't load when looking at unicode category or at the very bottom\n const bottomAboveViewport = bottom < scrollerTop || scrollerBottom === scrollerMax\n if (!bottomAboveViewport && (approachingBottom || atTop)) {\n this.loadEmoji()\n }\n },\n scrolledGroup (target) {\n const top = target.scrollTop + 5\n this.$nextTick(() => {\n this.emojisView.forEach(group => {\n const ref = this.$refs['group-' + group.id]\n if (ref[0].offsetTop <= top) {\n this.activeGroup = group.id\n }\n })\n })\n },\n loadEmoji () {\n const allLoaded = this.customEmojiBuffer.length === this.filteredEmoji.length\n\n if (allLoaded) {\n return\n }\n\n this.customEmojiBufferSlice += LOAD_EMOJI_BY\n },\n startEmojiLoad (forceUpdate = false) {\n if (!forceUpdate) {\n this.keyword = ''\n }\n this.$nextTick(() => {\n this.$refs['emoji-groups'].scrollTop = 0\n })\n const bufferSize = this.customEmojiBuffer.length\n const bufferPrefilledAll = bufferSize === this.filteredEmoji.length\n if (bufferPrefilledAll && !forceUpdate) {\n return\n }\n this.customEmojiBufferSlice = LOAD_EMOJI_BY\n },\n toggleStickers () {\n this.showingStickers = !this.showingStickers\n },\n setShowStickers (value) {\n this.showingStickers = value\n }\n },\n watch: {\n keyword () {\n this.customEmojiLoadAllConfirmed = false\n this.onScroll()\n this.startEmojiLoad(true)\n }\n },\n computed: {\n activeGroupView () {\n return this.showingStickers ? '' : this.activeGroup\n },\n stickersAvailable () {\n if (this.$store.state.instance.stickers) {\n return this.$store.state.instance.stickers.length > 0\n }\n return 0\n },\n filteredEmoji () {\n return filterByKeyword(\n this.$store.state.instance.customEmoji || [],\n this.keyword\n )\n },\n customEmojiBuffer () {\n return this.filteredEmoji.slice(0, this.customEmojiBufferSlice)\n },\n emojis () {\n const standardEmojis = this.$store.state.instance.emoji || []\n const customEmojis = this.customEmojiBuffer\n\n return [\n {\n id: 'custom',\n text: this.$t('emoji.custom'),\n icon: 'smile-beam',\n emojis: customEmojis\n },\n {\n id: 'standard',\n text: this.$t('emoji.unicode'),\n icon: 'box-open',\n emojis: filterByKeyword(standardEmojis, this.keyword)\n }\n ]\n },\n emojisView () {\n return this.emojis.filter(value => value.emojis.length > 0)\n },\n stickerPickerEnabled () {\n return (this.$store.state.instance.stickers || []).length !== 0\n }\n }\n}\n\nexport default EmojiPicker\n","function injectStyle (context) {\n require(\"!!vue-style-loader!css-loader?minimize!../../../node_modules/vue-loader/lib/style-compiler/index?{\\\"optionsId\\\":\\\"0\\\",\\\"vue\\\":true,\\\"scoped\\\":false,\\\"sourceMap\\\":false}!sass-loader!./emoji_picker.scss\")\n}\n/* script */\nexport * from \"!!babel-loader!./emoji_picker.js\"\nimport __vue_script__ from \"!!babel-loader!./emoji_picker.js\"/* template */\nimport {render as __vue_render__, staticRenderFns as __vue_static_render_fns__} from \"!!../../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-50bb08b3\\\",\\\"hasScoped\\\":false,\\\"optionsId\\\":\\\"0\\\",\\\"buble\\\":{\\\"transforms\\\":{}}}!../../../node_modules/vue-loader/lib/selector?type=template&index=0!./emoji_picker.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nimport normalizeComponent from \"!../../../node_modules/vue-loader/lib/runtime/component-normalizer\"\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_render__,\n __vue_static_render_fns__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"emoji-picker panel panel-default panel-body\"},[_c('div',{staticClass:\"heading\"},[_c('span',{staticClass:\"emoji-tabs\"},_vm._l((_vm.emojis),function(group){return _c('span',{key:group.id,staticClass:\"emoji-tabs-item\",class:{\n active: _vm.activeGroupView === group.id,\n disabled: group.emojis.length === 0\n },attrs:{\"title\":group.text},on:{\"click\":function($event){$event.preventDefault();return _vm.highlight(group.id)}}},[_c('FAIcon',{attrs:{\"icon\":group.icon,\"fixed-width\":\"\"}})],1)}),0),_vm._v(\" \"),(_vm.stickerPickerEnabled)?_c('span',{staticClass:\"additional-tabs\"},[_c('span',{staticClass:\"stickers-tab-icon additional-tabs-item\",class:{active: _vm.showingStickers},attrs:{\"title\":_vm.$t('emoji.stickers')},on:{\"click\":function($event){$event.preventDefault();return _vm.toggleStickers($event)}}},[_c('FAIcon',{attrs:{\"icon\":\"sticky-note\",\"fixed-width\":\"\"}})],1)]):_vm._e()]),_vm._v(\" \"),_c('div',{staticClass:\"content\"},[_c('div',{staticClass:\"emoji-content\",class:{hidden: _vm.showingStickers}},[_c('div',{staticClass:\"emoji-search\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.keyword),expression:\"keyword\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\",\"placeholder\":_vm.$t('emoji.search_emoji')},domProps:{\"value\":(_vm.keyword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.keyword=$event.target.value}}})]),_vm._v(\" \"),_c('div',{ref:\"emoji-groups\",staticClass:\"emoji-groups\",class:_vm.groupsScrolledClass,on:{\"scroll\":_vm.onScroll}},_vm._l((_vm.emojisView),function(group){return _c('div',{key:group.id,staticClass:\"emoji-group\"},[_c('h6',{ref:'group-' + group.id,refInFor:true,staticClass:\"emoji-group-title\"},[_vm._v(\"\\n \"+_vm._s(group.text)+\"\\n \")]),_vm._v(\" \"),_vm._l((group.emojis),function(emoji){return _c('span',{key:group.id + emoji.displayText,staticClass:\"emoji-item\",attrs:{\"title\":emoji.displayText},on:{\"click\":function($event){$event.stopPropagation();$event.preventDefault();return _vm.onEmoji(emoji)}}},[(!emoji.imageUrl)?_c('span',[_vm._v(_vm._s(emoji.replacement))]):_c('img',{attrs:{\"src\":emoji.imageUrl}})])}),_vm._v(\" \"),_c('span',{ref:'group-end-' + group.id,refInFor:true})],2)}),0),_vm._v(\" \"),_c('div',{staticClass:\"keep-open\"},[_c('Checkbox',{model:{value:(_vm.keepOpen),callback:function ($$v) {_vm.keepOpen=$$v},expression:\"keepOpen\"}},[_vm._v(\"\\n \"+_vm._s(_vm.$t('emoji.keep_open'))+\"\\n \")])],1)]),_vm._v(\" \"),(_vm.showingStickers)?_c('div',{staticClass:\"stickers-content\"},[_c('sticker-picker',{on:{\"uploaded\":_vm.onStickerUploaded,\"upload-failed\":_vm.onStickerUploadFailed}})],1):_vm._e()])])}\nvar staticRenderFns = []\nexport { render, staticRenderFns }","import Completion from '../../services/completion/completion.js'\nimport EmojiPicker from '../emoji_picker/emoji_picker.vue'\nimport { take } from 'lodash'\nimport { findOffset } from '../../services/offset_finder/offset_finder.service.js'\n\nimport { library } from '@fortawesome/fontawesome-svg-core'\nimport {\n faSmileBeam\n} from '@fortawesome/free-regular-svg-icons'\n\nlibrary.add(\n faSmileBeam\n)\n\n/**\n * EmojiInput - augmented inputs for emoji and autocomplete support in inputs\n * without having to give up the comfort of and